【问题标题】:Pandas dataframe to excel gives "file is not UTF-8 encoded"Pandas 到 excel 的数据框给出“文件不是 UTF-8 编码”
【发布时间】:2018-08-04 16:34:59
【问题描述】:

我正在处理要导出到 Excel 文件中的列表。

我发现很多人建议使用 pandas.dataframe,所以我就是这样做的。我可以创建数据框,但是当我尝试将其导出到 Excel 时,文件为空,只有以下消息:

“错误![file_pathway] 不是 UTF-8 编码。已禁用保存。有关详细信息,请参阅控制台”。

我没有在控制台上看到更多信息,而且我在 Internet 上找到的每个示例都会导致相同的错误消息。

我使用的不同列表包含不同类型的数据。因此,我尝试将所有可以转换的元素转换为 UTF-8 编码的元素。我无法为“浮动”列表和“NoType”列表执行此操作。

在那之后,这是我写的:

d = {'Dataset_name': dataset_names, 'Parameter_name': para_names, 'Parameter_amount': para_amounts, 'Parameter_unit': para_units, 'Parameter_variable': para_variables, 'Parameter_formula': para_formulas}
df = pd.DataFrame(data=d)

from pandas import ExcelWriter
writer = ExcelWriter('Ocelot_Export.xlsx')
df.to_excel(writer, encoding='utf8', index=False)
writer.save()

数据框是正确的,因为我可以在 Jupyter Notebook 中打印它。唯一的问题是出口。如果您对出了什么问题有任何想法,请告诉我。

【问题讨论】:

  • 如果您创建Minimal, Complete, and Verifiable 示例,您将获得更多更好的答案。尤其要确保输入和预期的测试数据是完整的(不是伪数据),并且可以很容易地剪切和粘贴到编辑器中,以便测试建议的解决方案。
  • 可能是(绝对)路径包含非ASCII字符,而不是内容?
  • 斯蒂芬·劳赫,我不明白你的意思。您所说的输入、预期的测试数据和编辑器是什么? Ienz,我正在使用 Jupyter 笔记本,创建的 Excel 文件将发送到 Jupyter Notebook 中的文件夹。你觉得这是个问题吗?

标签: python pandas dataframe utf-8


【解决方案1】:

这个问题的原因很可能只是jupyter无法显示.xlsx文件。尝试将文件从 jupyter(文件名旁边的复选框 -> 页眉附近的“下载”按钮)下载到本地计算机并使用 excel 打开它。

2020 年更新:如果您使用的是 Jupyter Lab,jupyterlab-spreadsheet 是无需离开浏览器即可查看 excel 文件的好方法。

【讨论】:

    猜你喜欢
    • 2013-06-11
    • 2015-12-24
    • 2019-06-30
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    相关资源
    最近更新 更多