【问题标题】:Odd behavior with pandas and to_csvpandas 和 to_csv 的奇怪行为
【发布时间】:2017-02-17 00:26:32
【问题描述】:

我今天在使用 pandas to_csv() 时遇到了一件有趣的事情,我不确定这是否是预期的行为。我想我会把它放在这里,看看是否有人有任何想法。

我有一个数据集,其中包含一些文本和一些 utf-8 编码字符。

import pandas as pd
df = pd.read_csv('file',encoding='utf-8)
#Do some work
with open('file','w') as f:
    pd.to_csv(f , encoding ='utf-8')

这会引发一个 ascii 编码错误,让我觉得自己像个白痴 如果我切换到这种模式:

file_out = 'file.csv'
pd.to_csv(file_out,encoding = 'utf-8')

工作得很好。

如果这是预期的行为,有什么想法吗?

【问题讨论】:

  • 究竟是什么错误?发布完整的堆栈跟踪总是有帮助的
  • ascii 编码错误,我现在没有完整的跟踪,但明天会尝试一起获得一个最小的工作示例

标签: python python-3.x pandas utf-8


【解决方案1】:

你错过了结束语。

import pandas as pd
df = pd.read_csv('file.csv', encoding='utf-8')

with open('file.csv', 'w') as f:
    pd.to_csv(f, encoding='utf-8')  

此外,您不应在参数和传递的值之间添加空格。另外,将文件结尾添加到您要传递的文件中。

【讨论】:

  • 让我们假设代码能够编译和运行。我特意询问“ with file as f : 后跟 pd.to_csv(f) ”的 python 模式是否不兼容
猜你喜欢
  • 1970-01-01
  • 2021-09-24
  • 2016-10-05
  • 1970-01-01
  • 2018-11-25
  • 2013-02-27
  • 2022-01-14
  • 2021-03-12
  • 1970-01-01
相关资源
最近更新 更多