Pandas DataFrame.to_csv方法的选项quoting=csv.QUOTE_MINIMAL似乎不起作用。
我有以下输入制表符分隔的数据,在下面的示例中,->表示制表符和。表示空格字符。
Jhon->35->123.Vroom.St->01120
在使用DataFrame.to_csv和选项quoting=csv.QUOTE_MINIMAL`之后,我期望得到以下输出。
Jhon 35 "123 Vroom St" 01120
这意味着仅引用分隔数据中有空格的地址值,如果没有空格则不引用。
df.to_csv(file,
sep='\t',
header=False,
index=False,
quoting=csv.QUOTE_MINIMAL)但是,我得到了以下输出。地址上没有引号。
Jhon 35 123 Vroom St 01120
使用选项quoting=csv.QUOTE_ALL`让我低于我不想要的。
"Jhon" "35" "123 Vroom St" "01120"
有人能帮帮我吗?这是怎么回事?
谢谢。
发布于 2020-10-28 10:46:04
Pandas中提供了以下报价选项:
在您的示例中,由于您使用的是csv.QUOTE_MINIMAL,并且您的文本没有上述任何特殊字符,因此不会对该字段进行引号。我建议您使用csv.QUOTE_NONNUMERIC来获取您正在寻找的格式。
df.to_csv(file, sep='\t', header=False, index=False, quoting=csv.QUOTE_NONNUMERIC)发布于 2020-10-28 10:56:48
您可以在编写csv之前修补该列
df["foo"] = '"' + df["foo"] + '"'
df.to_csv(file, sep='\t', header=False, index=False, quoting=csv.QUOTE_MINIMAL)https://stackoverflow.com/questions/61507652
复制相似问题