【问题标题】:Error message when writing dataframe to excel将数据框写入excel时出现错误消息
【发布时间】:2019-02-19 08:44:40
【问题描述】:

我正在将 pkl 文件加载到数据框中,并希望使用 pandas 的 Excelwriter 将其保存到 excel 中。将 pkl 文件加载到 DF 中工作正常,将帧写入 excel 会引发以下错误:

ValueError("无法将 {0!r} 转换为 Excel".format(value)

我不知道怎么了。

我在一台计算机上安装了带有 python 3.7 的 anaconda,代码运行良好并且运行没有问题。但是,在另一台计算机上(使用 python 3.7 和新安装的 pandas 和 pickle),它失败了......感谢任何帮助!

pkl 文件是一个对其中的学术文献进行分类的文件 - 所以没什么令人兴奋的。

import pickle
import pandas as pd
from pandas import ExcelWriter

def open_pickle():
    savename = 'neuro_10_neuron[TIAB]_19-02-19'
    try:
        with open(savename + '.pkl', 'rb') as f:
            holder = pickle.load(f)
    except FileNotFoundError:
        print('Cannot find it!')

    framed =  pd.DataFrame.from_dict(holder)

    writer = ExcelWriter(savename + '.xlsx')
    framed.to_excel(writer)
    writer.save()

open_pickle()

提前致谢!

您可以在下面找到整个错误消息的图片。也许这会为某人指明一个可能对我有帮助的方向......

【问题讨论】:

    标签: python-3.x pandas pandas.excelwriter


    【解决方案1】:

    好吧,对我来说,安装 xlsxwriter 模块后对代码的修改解决了它。代码现在看起来像这样:

    import pickle
    import pandas as pd
    from pandas import ExcelWriter
    
    
    def open_pickle():
        savename = 'neuro_10_neuron[TIAB] AND 2018[PDAT]_01-03-19'
        try:
            with open(savename + '.pkl', 'rb') as f:
                holder = pickle.load(f)
        except FileNotFoundError:
            print('Cannot find it!')
    
        framed =  pd.DataFrame.from_dict(holder)
    
        writer = ExcelWriter(savename + '.xlsx', engine='xlsxwriter')
        framed.to_excel(writer)
        writer.save()
    
        return(framed)
    
    a= open_pickle()
    

    希望对您有所帮助,如果有人遇到过这样的事情。 干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-21
      • 2020-02-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多