【问题标题】:How to write string to csv that contain escape chars?如何将字符串写入包含转义字符的 csv?
【发布时间】:2022-11-30 23:44:31
【问题描述】:

我正在尝试使用 csv.writer 将字符串列表写入 csv。

writer = csv.writer(f)
writer.writerow(some_text)

但是,某些字符串包含随机转义字符,这似乎导致了以下错误:_csv.Error:需要转义,但没有设置 escapechar

我试过在 csv.writer 中使用 escapechar 选项,如下所示

writer = csv.writer(f, escapechar='\\')

但这似乎是一个部分解决方案,因为无法识别所有换行符 (\n)。

我将如何解决这个问题?有问题的字符串的示例如下:

problem_string = "this \n sentence \% is \n problematic \g"

【问题讨论】:

  • 请提供一个最小的工作示例(以便有人可以复制并粘贴 sn-p 并运行它)

标签: python string csv


【解决方案1】:

最终要实现什么格式?无论如何,将其写入 csv 似乎会导致一些奇怪的结果。

在任何情况下,这两种代码都可以毫无错误地为我工作,两者在转义字符方面给出的结果略有不同。

使用普通字符串:

import csv

with open('test2.csv', 'w') as csvfile: 
    csvwriter = csv.writer(csvfile) 
    problem_string = "this 
 sentence % is 
 problematic g"
    csvwriter.writerow(problem_string)

使用原始输入:

import csv

with open('test2.csv', 'w') as csvfile: 
    csvwriter = csv.writer(csvfile) 
    problem_string = r"this 
 sentence % is 
 problematic g"
    csvwriter.writerow(problem_string)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-19
    • 2011-09-27
    • 2021-07-07
    相关资源
    最近更新 更多