1

我正在将 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()

提前致谢!

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

4

1 回答 1

0

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

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

于 2019-03-01T11:37:14.883 回答