使用 CSV.QUOTE_NONNUMERIC 而不引用 headers

Using CSV.QUOTE_NONNUMERIC without quoting the headers

我认为以前没有人问过这个问题,所以如果有人能指导我正确的方向,我将不胜感激。

我会尽量简短,使用 CSV.QUOTE_NONNUMERIC 时是否可以仅引用列值并保持 headers 列不被引用?

docs.to_csv("test.csv", index = False, quoting = csv.QUOTE_NONNUMERIC)

实际输出:

"id","reportname"
1,"TestReport"

预期输出:

id,reportname
1,"TestReport"

我在to_csv docs中没有找到这样的功能,因此我建议按照以下步骤操作:

import csv
import pandas as pd
df = pd.DataFrame({"id":[1],"reportname":["TestReport"]})
df[:0].to_csv("test.csv", index=False)
df.to_csv("test.csv", header=False, mode="a", index=False, quoting=csv.QUOTE_NONNUMERIC)

test.csv

的内容
id,reportname
1,"TestReport"

解释:第一个to_csv用来写headers,第二个用来写content,所以第二个我指定不写header(header=False)并且应该追加(mode="a") 而不是写入新文件(w - 默认模式)。