我在python中有一个列表列表,表示要在csv文件中写入的数据。我的代码是:
for n, d, p in zip(names, dates, posts):
writer.writerow([i, n, d, p])
但是,帖子中的某些字符串包含分号,这会在csv中创建新的单元格。我在网上看过并试过
到目前为止,没有任何工作。任何帮助,我发现的逃避逗号的每个在线答案涉及(1)或(2)这对我不起作用。请帮忙!
编辑:这是我的意思的一个例子
当我写行['a','b','c','d; e']时,d和e会被放入不同的单元格中,例如:
a | b | c | d | e
与我想要的相反,这是:
a | b | c | d;e
答案 0 :(得分:3)
我会建议您使用pandas将数据转换为CSV,因为它更容易,您也不需要关心处理字符。
>>> arr = [{"a":1,"b":2,"c":3},{"a":2,"b":3,"c":4}]
>>> dataFrame = pd.DataFrame(arr)
>>> dataFrame
a b c
0 1 2 3
1 2 3 4
>>> dataFrame.to_csv("test.csv",index = 0)
答案 1 :(得分:0)
您可以使用tab作为分隔符。
您可以使用pandas或csv编写文件并稍后打开,将分隔符设置为“\t”
。
它适用于在Excel或类似程序中打开。
使用csv进行写作的示例:
import csv
with open(<filename>, "w") as file:
writer = csv.writer(file, delimiter="\t")
使用csv进行阅读的示例:
import csv
with open(<filename>, "r") as file:
reader = csv.reader(file, delimiter="\t")
答案 2 :(得分:0)
您正在使用CSV查看程序的任何程序都可能有问题。我遇到了同样的问题,这是因为我在电子表格软件中选中了一个复选框,以用逗号和分号分隔。