Python 如何用斜杠转义的引号保存csv文件?
虽然有很多关于python csv引用的问题,但我相信我遇到了一个没有涉及的案例 我有一些示例代码:Python 如何用斜杠转义的引号保存csv文件?,python,pandas,csv,Python,Pandas,Csv,虽然有很多关于python csv引用的问题,但我相信我遇到了一个没有涉及的案例 我有一些示例代码: import pandas as pd import csv df = [(1, '1\' 2"',), (2, '1\' 4"')] df = pd.DataFrame(df, columns=['months', 'height']) print(df.head()) df.to_csv('blah.csv', index=False, quoting=csv.QUOTE_MINIMAL
import pandas as pd
import csv
df = [(1, '1\' 2"',), (2, '1\' 4"')]
df = pd.DataFrame(df, columns=['months', 'height'])
print(df.head())
df.to_csv('blah.csv', index=False, quoting=csv.QUOTE_MINIMAL,
quotechar='"', escapechar='\\')
它产生以下输出:
months height
0 1 1' 2"
1 2 1' 4"
保存到csv后,它看起来像:
months,height
1,"1' 2"""
2,"1' 4"""
但是,我希望它看起来像这样:
months,height
1,"1' 2\""
2,"1' 4\""
(如果您想知道,这是Spark默认csv编写器的输出格式。)
其中双引号被转义。我找不到一个方法来做这个。。。任何指针都将不胜感激。您需要传递
doublequote=False
(它默认为True),还需要传递quoting=QUOTE\u非数字
:
df.to_csv('blah.csv', index=False, quoting=csv.QUOTE_NONNUMERIC,
quotechar='"', escapechar='\\', doublequote=False)
见文件:
输出:
"months","height"
1,"1' 2\""
2,"1' 4\""
太好了,缺少了双引号。谢谢