将熊猫数据帧写入 CSV 文件

2022-09-05 01:10:37

我在熊猫中有一个数据帧,我想把它写到一个CSV文件中。

我正在使用:

df.to_csv('out.csv')

并得到以下错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)
  • 有没有办法轻松解决这个问题(即我的数据框中有Unicode字符)?
  • 有没有办法使用例如“to-tab”方法(我认为不存在)来写入制表符分隔的文件而不是CSV?

答案 1

要按制表符分隔,可以使用参数 to_csvsep

df.to_csv(file_name, sep='\t')

要使用特定的编码(例如'utf-8'),请使用以下参数:encoding

df.to_csv(file_name, sep='\t', encoding='utf-8')

答案 2

使用该方法将对象存储到 csv 文件中时,可能不需要存储对象每前面索引DataFrameto_csvDataFrame

您可以通过将布尔值传递给参数来避免这种情况。Falseindex

有点像:

df.to_csv(file_name, encoding='utf-8', index=False)

因此,如果您的 DataFrame 对象类似于:

  Color  Number
0   red     22
1  blue     10

csv 文件将存储:

Color,Number
red,22
blue,10

而不是(传递默认值时的情况)True

,Color,Number
0,red,22
1,blue,10