PandasDataFrame.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)
Run Code Online (Sandbox Code Playgroud)
但是,我得到以下输出。地址上没有报价。
Jhon 35 123 Vroom St 01120
使用选项 quoting=csv.QUOTE_ALL` 让我低于我不想要的。
"Jhon" "35" "123 Vroom St" "01120"
有人可以帮我看看这里出了什么问题吗?
谢谢。
小智 6
Pandas 中提供以下选项用于报价:
在您的情况下,由于您使用的是 csv.QUOTE_MINIMAL 并且您的文本没有上述任何特殊字符,因此不会引用任何字段。我建议使用 csv.QUOTE_NONNUMERIC 来获取您正在寻找的格式。
df.to_csv(file, sep='\t', header=False, index=False, quoting=csv.QUOTE_NONNUMERIC)
Run Code Online (Sandbox Code Playgroud)
参考: https: //docs.python.org/3/library/csv.html