将数据帧写入 excel 时出现错误消息

Error message when writing dataframe to excel

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

ValueError("Cannot convert {0!r} to 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()

提前致谢!

下面是完整错误消息的图片。也许这会将某人指向一个可能对我有帮助的方向......

好吧,对我来说,安装 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()

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