我在将dictir=[]
变量写入CSV文件时遇到了一个问题,因此在dictir=[]
列表中有两个字典,每个字典都包含一个键为["cities"]
的列表,每次我在CSV文件中写入列表dictir=[]
时,由于某种原因,键为["cities"]
的列表都会转换为CSV文件中的字符串,问题出在我写列表的方式上?还是整个代码上?任何帮助都是很好的
如何写入data.csv
文件
,countrey,cities,time_visited
0,france,"['paris', 'lyon']",4
1,germany,"['Munich', 'Frankfurt']",9
我希望data.csv
文件看起来像什么样,没有""
在法国和德国列表上
,countrey,cities,time_visited
0,france,['paris', 'lyon'],4
1,germany,['Munich', 'Frankfurt'],9
这是我用来写csv文件的代码
import pandas
import csv
dictir=[
{"countrey":"france",
"cities":["paris","lyon"],
"time_visited":4}
,
{"countrey":"germany",
"cities":["Munich","Frankfurt"],
"time_visited":9}
]
df = pandas.DataFrame(dictir)
to_csv_file=df.to_csv ("data.csv")
2条答案
按热度按时间zxlwwiss1#
您可以使用
df.to_csv()
的quoting=csv.QUOTE_NONE
选项来停用引号。但是您也需要使用escapechar
选项来指定要在清单中的,
字符之前打印的逸出字符。生成的CSV文件如下所示:
您需要引号或转义符,这样列表中的
,
就不会被当作字段分隔符。如果您试图打印一个CSV,其中的字段包含逗号,并且您没有启用引号或转义符,您将得到一个错误。pvcm50d12#
当您保存为csv时,它会将任何列表转换为字符串。
要将其转换回列表,您可以执行以下操作:
您可以将其保存为pickle文件(而不是csv),该文件将其存储为列表。