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

虽然有很多关于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, 
          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\""

太好了,缺少了双引号。谢谢