使用pandas读取Excel文件时触发WinError193错误求助
问题描述
尝试用以下Python代码读取Excel文件时触发错误:
#=================================== #different import import numpy as np from matplotlib import pyplot as plt import pandas as pd section_copper = 50.11*8.04#[mm2] section_alu = 50.18*5.07 #[mm2] section_composite = 53.24*4.49 #[mm2] section_steel = 50.35*10.23 #[mm2] length = 400 #[mm] data_steel = pd.read_excel(r"C:\Users\Alex\Downloads\MAPR2481-Lab1.xlsx",sheet_name=0) data_aluminium = pd.read_excel(r"C:\Users\Alex\Downloads\MAPR2481-Lab1.xlsx",sheet_name=1) data_copper = pd.read_excel(r"C:\Users\Alex\Downloads\MAPR2481-Lab1.xlsx",sheet_name=2) data_composite = pd.read_excel(r"C:\Users\Alex\Downloads\MAPR2481-Lab1.xlsx",sheet_name=3)
控制台输出错误:
runfile('C:/Users/Alex/.spyder-py3/lab 1.py', wdir='C:/Users/Alex/.spyder-py3') Traceback (most recent call last): File "<ipython-input-16-9c6aa501dded>", line 1, in <module> runfile('C:/Users/Alex/.spyder-py3/lab 1.py', wdir='C:/Users/Alex/.spyder-py3') File "C:\Users\Alex\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 827, in runfile execfile(filename, namespace) File "C:\Users\Alex\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile exec(compile(f.read(), filename, 'exec'), namespace) File "C:/Users/Alex/.spyder-py3/lab 1.py", line 3, in <module> import numpy as np File "C:\Users\Alex\AppData\Roaming\Python\Python37\site-packages\numpy\__init__.py", line 143, in <module> from . import _distributor_init File "C:\Users\Alex\AppData\Roaming\Python\Python37\site-packages\numpy\_distributor_init.py", line 26, in <module> WinDLL(os.path.abspath(filename)) File "C:\Users\Alex\Anaconda3\lib\ctypes\__init__.py", line 364, in __init__ self._handle = _dlopen(self._name, mode) OSError: [WinError 193] %1 is not a valid Win32 application
解决方案
这个错误是Python环境冲突+Numpy架构不兼容导致的:代码用Anaconda的Python运行,但系统优先加载了AppData/Roaming/Python37目录下的Numpy,该版本的Numpy和当前Python的32/64位架构不匹配,或依赖库损坏。
解决步骤:
清理冲突的第三方包
删除C:\Users\Alex\AppData\Roaming\Python\Python37\site-packages下的numpy文件夹,避免Anaconda环境调用到外部的损坏包。在Anaconda环境中重新安装Numpy
打开Anaconda Prompt,激活目标环境(使用base环境可跳过激活步骤):conda activate base conda uninstall numpy conda install numpy若conda安装异常,可改用pip:
pip uninstall numpy pip install numpy验证环境一致性
在Spyder中运行以下代码,确认numpy的安装路径属于Anaconda:import numpy print(numpy.__file__)输出应指向
C:\Users\Alex\Anaconda3\lib\site-packages\numpy,而非AppData目录。补充Excel读取依赖
若后续读取Excel仍报错,需安装对应依赖库:conda install openpyxl xlrd
内容的提问来源于stack exchange,提问作者alex1404
相关产品推荐
相关产品推荐

