python - 在python中写入csv时如何转义分号

标签 python csv escaping

我有一个 python 列表列表,表示要写入 csv 文件的数据。我的代码是:

for n, d, p in zip(names, dates, posts):
        writer.writerow([i, n, d, p])

但是,帖子中的某些字符串包含分号,这会在 csv 中创建新的单元格。我在网上看过并尝试过

  1. 设置引用=csv.QUOTE_ALL
  2. 将每个帖子字符串用双引号括起来
  3. 将分号括在双引号内
  4. 使用普通的 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/

相关文章:

xaml - 如何在 ComboBoxItem 的内容中包含与号 (&)

Python:从mysql中选择适当的类型

python - Colab 上的 Tensorflow Eager Execution

python - 在 Azure ML Python 脚本中读取多个 CSV 文件

java - 正则表达式使用 ( ) 来搜索而不是指示组

python - 如何像 Python 中的原始字符串一样处理返回/存储的字符串?

python - GroupBy 对象中的数据处理。如何添加列?

python - 如何为每个索引值添加差异行?

python - 使用 Pandas 向 csv 文件添加独立标题

bash - ASCII 文件,如何处理带引号的字符串中的分隔符?