【发布时间】:2021-09-09 06:08:21
【问题描述】:
我有以下数据:
data_list = ["\"TOTO TITI TATA,TAGADA\"", "\"\"\"TUTU,ROOT\"\"\""]
它被转换成一个熊猫数据框:
df = pandas.DataFrame(data_list)
print(df)
0
0 "TOTO TITI TATA,TAGADA"
1 """TUTU,ROOT""
当将数据框写为 csv 时,没有任何引用配置,我得到以下结果:
with open("test_quote_normal", "w") as w:
df.to_csv(w, index=False, header=False)
->结果输出
"""TOTO TITI TATA,TAGADA"""
"""""""TUTU,ROOT"""""""
每一个引号都被引用了,这不是我想要的。
所以我试图通过以下配置来防止这种情况:
with open("test_quote_none", "w") as w:
df.to_csv(w, index=False, header=False,
quoting=csv.QUOTE_NONE, escapechar=',')
->结果输出
"TOTO TITI TATA,,TAGADA"
"""TUTU,,ROOT"""
引号是正确的,但由于我不明白的原因,转义字符已插入数据本身。
指定sep值无效:
with open("test_quote_none", "w") as w:
df.to_csv(w, index=False, header=False,
quoting=csv.QUOTE_NONE, escapechar=',', sep= ",")
为什么 pandas 会在数据中插入转义字符?
【问题讨论】: