我正在使用pandas.read_csv()
函数,并发现其中有quotechar
和quoting参数。
pandas.read_csv(filepath_or_buffer, sep=', ' , quotechar='"', quoting=0)
这些参数的确切用途是什么?我查阅了文档,但无法理解。
我正在使用pandas.read_csv()
函数,并发现其中有quotechar
和quoting参数。
pandas.read_csv(filepath_or_buffer, sep=', ' , quotechar='"', quoting=0)
这些参数的确切用途是什么?我查阅了文档,但无法理解。
这是用于处理多个字符串数据的工具:
In [39]:
data = {"strings": ["string", "string,string"],
"int": np.arange(2),
"float": np.random.randn(2)}
df = pd.DataFrame(data)
df
Out[39]:
float int strings
0 0.116076 0 string
1 -0.316229 1 string,string
In [40]:
df.to_csv(quotechar="'")
Out[40]:
",float,int,strings\n0,0.11607600924932446,0,string\n1,-0.31622948240636567,1,'string,string'\n"
string,string
被引用为:'string,string'
写入CSV文件时
第一个单个字符串保持不变。
默认的引号字符是双引号:
In [41]:
df.to_csv()
Out[41]:
',float,int,strings\n0,0.11607600924932446,0,string\n1,-0.31622948240636567,1,"string,string"\n'
"string,string"
CSV可以只用逗号来分隔字段,但是如果你的字段中有一个逗号,为了避免它变成两个字段,整个字段都需要被引用,通常使用双引号。一些CSV方言将每个字段都用双引号括起来,但这会浪费空间。
引用选项包括QUOTE_MINIMAL(0)、QUOTE_ALL(1)、QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)
引用=0表示最小化引用,因此仅包含分隔符的字段将被引用。它看起来像这样。
Name, Address, Field
Ai Weiwei, "Berlin, Germany", Visual Arts
"Jagger, Mick", London, Music