【发布时间】:2021-09-02 05:16:23
【问题描述】:
问题:
当我尝试使用pd.read_excel(“NDC 数据库文件 - Excel 版本(zip 格式)”从https://www.fda.gov/drugs/drug-approvals-and-databases/national-drug-code-directory 下载)打开product.xls 时出错
df_product = pd.read_excel("tmp/Presentaciones.xls")
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/usr/local/lib/python3.9/site-packages/pandas/util/_decorators.py", line 299, in wrapper
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py", line 336, in read_excel
io = ExcelFile(io, storage_options=storage_options, engine=engine)
File "/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py", line 1071, in __init__
ext = inspect_excel_format(
File "/usr/local/lib/python3.9/site-packages/pandas/io/excel/_base.py", line 965, in inspect_excel_format
raise ValueError("File is not a recognized excel file")
ValueError: File is not a recognized excel file
我的环境:
pandas version: 1.2.4
xlrd version: 2.0.1
openpyxl version: 3.0.7
提前致谢。
【问题讨论】:
-
我下载了文件并尝试使用不同的引擎读取它,但每次都会出错。如果没有解决办法,你可以在MS Excel中打开文件并保存为CSV,然后你可以用
read_csv阅读它 -
问题是文件根本不是 Excel(既不是 BIFF 也不是 OOXML),而是 CSV(字符分隔,这里使用制表符作为分隔符)。只需重命名文件并将 read_csv 与相关选项一起使用。并将问题报告给网站所有者,以便他们至少可以更正标签!
-
@CharlieClark 我在直接重命名为 csv 后对其进行了测试,它现在可以与 read csv 一起使用。谢谢
标签: python excel pandas openpyxl xlrd