You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用openpyxl遇AttributeError:numpy无short属性的问题求助

解决openpyxl导入错误与文件路径配置问题

一、修复AttributeError: module 'numpy' has no attribute 'short'

问题原因

Python 3.13属于较新版本,numpy近期迭代中移除了numpy.short这个别名,而你当前安装的openpyxl版本未适配该变化,导致导入时触发错误。

解决方法

  • 方案1:升级openpyxl到兼容版本
    在PyCharm终端执行命令:

    pip install --upgrade openpyxl
    

    新版openpyxl已修复与高版本numpy的兼容性问题。

  • 方案2:降级numpy到支持numpy.short的版本
    若升级openpyxl后仍有异常,可执行命令降级numpy:

    pip install numpy==1.26.4
    

    该版本是最后支持numpy.short别名的稳定版之一。

二、配置正确的文件路径

你代码中的path = r"C:\path\to\your\file\example.xlsx"是示例路径,需替换为本地Excel文件的实际路径:

  • 绝对路径配置:找到目标Excel文件,右键选「属性」复制「位置」,拼接文件名,比如:
    path = r"C:\Users\DELL\OneDrive\Documents\Expense Tracker\your_expense_data.xlsx"
    
  • 相对路径配置:若Excel文件和Python脚本在同一文件夹下,直接写文件名即可:
    path = "expense_data.xlsx"
    
  • 注意事项:确保文件后缀为.xlsx(openpyxl不支持旧版.xls格式),且文件确实存在于指定路径中。

验证代码示例

import openpyxl
import tkinter as tk

def load_data():
    # 替换为你的实际文件路径
    path = r"C:\Users\DELL\OneDrive\Documents\Expense Tracker\expenses.xlsx"
    try:
        workbook = openpyxl.load_workbook(path)
        sheet = workbook.active
        list_values = list(sheet.values)
        print(list_values)
        # 可在此处将数据展示到tkinter界面
    except FileNotFoundError:
        print("错误:文件不存在,请检查路径")
    except Exception as e:
        print(f"加载失败:{str(e)}")

# tkinter基础界面
root = tk.Tk()
root.title("费用追踪器")
load_btn = tk.Button(root, text="加载Excel数据", command=load_data)
load_btn.pack(pady=20)

root.mainloop()

内容的提问来源于stack exchange,提问作者Kazim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 14:37:25