【发布时间】:2017-05-21 12:04:14
【问题描述】:
我想将列表保存在 csv 文件中。问题是当我想重新加载文件时,值是字符串。
当执行我的代码然后 cat "file_name" 时。输出是:
cat test.csv -> "[1, 2]","[3, 4]","[5, 3]"
我的代码是:
import csv
def save_workschedule():
small_list = [[1, 2], [3, 4], [5, 3]]
c = csv.writer(open("test.csv", "w"))
c.writerow(small_list)
save_workschedule()
如何保存不带引号的列表?
【问题讨论】:
-
“行”是您要传递的列表,其中包含这 3 个子列表。由于这 3 个子列表是行中的项目,因此它们被转换为要写入的字符串,因此用引号括起来。
-
没有办法。您正在将文本写入文本文件。如果您希望文件在读回时看起来像
"[[1, 2], [3, 4], [5, 3]]",请在writerowc.writerow([small_list])时将small_list包装在另一个列表中 -
那你有没有试过配置报价?你真正想要什么输出?每个子列表应该是单独的行吗?其他逗号应该如何解释?
-
我想在 csv 文件中有值 [1, 2], [3, 4], [5, 3]
-
@Vinz 那么你绝对需要引号,称为文本限定符。没有它们,当您将该数据读入其他内容时,您将使用错误的逗号进行拆分。不知道更多...我怀疑您可能使您的任务比需要的更难...您总体上要做什么?