将 pandas DataFrame 写入 CSV 文件

新手上路,请多包涵

我在熊猫中有一个数据框,我想将其写入 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?

原文由 user7289 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 273
2 个回答

要通过制表符分隔,您可以使用 sep 参数 to_csv

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

要使用特定编码(例如“utf-8”),请使用 encoding 参数:

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

原文由 Andy Hayden 发布,翻译遵循 CC BY-SA 3.0 许可协议

当您使用 to_csv 方法将 DataFrame 对象存储到 csv 文件 中时,您可能不需要存储 DataFrame 每一 前面索引 目的。

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

有点像:

 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

原文由 Sayan Sil 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题