我有一个 python 列表列表,表示要写入 csv 文件的数据。我的代码是:
for n, d, p in zip(names, dates, posts):
writer.writerow([i, n, d, p])
但是,帖子中的某些字符串包含分号,这会在 csv 中创建新的单元格。我在网上看过并尝试过
- 设置引用=csv.QUOTE_ALL
- 将每个帖子字符串用双引号括起来
- 将分号括在双引号内
- 使用普通的 python 写入而不是 csv.writer
到目前为止没有任何效果。任何帮助,我发现转义逗号的每个在线答案都涉及 (1) 或 (2),这对我不起作用。请帮忙!
编辑:这是我的意思的一个例子
当我写 ['a', 'b', 'c', 'd;e'] 行时,d 和 e 被放入不同的单元格中,例如:
a | b | c | d | e
与我想要的相反,这是:
a | b | c | d;e
最佳答案
我会推荐使用 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)
关于python - 在python中写入csv时如何转义分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49788330/