循环野指针 2023-08-14 18:01 采纳率: 100%
浏览 10
已结题

使用python Pyinstaller转exe操作excel文件报错

使用pandas包处理excel的数据,将F列的数据加上引号后赋值到J列
pycharm环境和anaconda均可运行成功
使用Pyinstaller打包后出现下图的问题
个人判断是J列数据未初始化,为NaN无法操作,但不知道怎么解决(可能判断错误)
下图是错误提示 Failed to execute script '报表自动化4' due to unhandled exception: "None of [lndex([9],type='int32')] are in the [columns]"

img

excel文件示意图

img

局部代码:

# 修改列数据格式为string,后面加引号用
df[[5]] = df[[5]].astype(str)
# 此处是第33行,下一行代码报错
df[[9]] = df[[9]].astype(str)
df[[0,10]] = df[[0,10]].astype(str)
df[[11]] = df[[11]].astype(str)
  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-08-14 21:16
    关注

    【以下回答由 GPT 生成】

    首先,根据你提供的信息,错误提示显示 Failed to execute script '报表自动化4' due to unhandled exception: "None of [lndex([9],type='int32')] are in the [columns]"。根据错误提示,出现了df[[9]]这一列不存在的问题。

    解决这个问题的方法如下:

    1. 确认你的Excel文件中是否存在第9列,可以打开Excel文件检查一下。如果不存在第9列,那么将会出现列索引错误。

    2. 如果确认存在第9列,并且之前的代码在非打包状态下运行正常,那么说明问题可能是由于PyInstaller打包后无法正确处理pandas的数据类型导致的。

    可以尝试修改代码,检查df DataFrame 中是否存在第9列,如果不存在,就先创建一个空的第9列。可以使用df.insert()方法来插入一个空的列,在df[[9]] = df[[9]].astype(str)代码之前插入以下代码: python if 9 not in df.columns: df.insert(9, 9, '')

    这样就可以确保df[[9]]存在,继续进行后续操作。

    修改后的代码如下所示: python if 9 not in df.columns: df.insert(9, 9, '') df[[5]] = df[[5]].astype(str) df[[9]] = df[[9]].astype(str) df[[0,10]] = df[[0,10]].astype(str) df[[11]] = df[[11]].astype(str)

    1. 重新使用PyInstaller将代码打包成可执行文件,然后运行看看是否还会出现相同的错误。

    如果以上方法都不能解决问题,还可以尝试以下方法:

    • 确保使用的是最新版本的PyInstaller,可以尝试升级PyInstaller到最新版本,命令为 pip install --upgrade pyinstaller

    • 使用其他打包工具,例如cx_Freeze、py2exe等,重新尝试打包并运行。

    如果以上方法都不能解决问题,建议在相关的开发社区或者Python论坛中寻求帮助,提供尽可能详细的错误信息和代码示例,以及你使用的Python和pandas版本号。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月14日

悬赏问题

  • ¥20 如何在 rocky9.4 部署 CDH6.3.2?
  • ¥35 navicat将excel中的数据导入mysql出错
  • ¥15 rt-thread线程切换的问题
  • ¥20 python忆阻器数字识别
  • ¥15 高通uboot 打印ubi init err 22
  • ¥20 PDF元数据中的XMP媒体管理属性
  • ¥15 R语言中lasso回归报错
  • ¥15 网站突然不能访问了,上午还好好的
  • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
  • ¥15 semrush,SEO,内嵌网站,api