首页 > 解决方案 > 我在 pandas 中收到一个错误,因为我的数据框太大,我该如何克服这个错误?

问题描述

我正在将销售数据导入 Pandas 数据框,当我到达这行代码时,它会更改数据框尺寸以超出 Pandas 的限制。

错误前的大小: Dataframe.shape= (13, 46)

我运行以下行并且 DF 的大小发生了变化:

SandS = SandS.merge(StoreIDLookup, on = 'Retail Location', how = 'left')

DF 大小更改为DF.shape= (13, 16428)

然后我收到以下错误:

"Traceback (most recent call last):

  File "<ipython-input-4-fc11ca88710b>", line 63, in <module>
    SandS.to_excel(writer, 'Sales Upload')

  File "C:\Users\ccorrales\Anaconda3\lib\site-packages\pandas\core\generic.py", line 2189, in to_excel
    formatter.write(

  File "C:\Users\ccorrales\Anaconda3\lib\site-packages\pandas\io\formats\excel.py", line 803, in write
    raise ValueError(

ValueError: This sheet is too large! Your sheet size is: 13, 16429 Max sheet size is: 1048576, 16384"

有人对此有解决方案吗?

标签: pythonexcelpandasdataframe

解决方案


Python 不是问题。您正在尝试将包含 16,428 列的数据框写入 excel 文件。excel 文件格式本身不会接受那么多列。正如错误所述,Excel 工作表的最大列数为 16,384。最简单的解决方法是将 df 一分为二并将其保存到两个单独的工作表中。


推荐阅读