无法在python中读取xlsx文件[重复]

Posted

技术标签:

【中文标题】无法在python中读取xlsx文件[重复]【英文标题】:Can't read xlsx file in python [duplicate] 【发布时间】:2021-04-02 13:44:21 【问题描述】:

代码:

import pandas as pd
import os
dirname = 'D:\SYun\BigData\DataScience-master\DataScience-master\data'
filename = '05. draw_korea_raw.xlsx'
path = os.path.join(dirname, filename)
f = pd.read_excel(path)
print(f)

错误:

raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported

我下载了 pandas==1.1.5、xlrd==2.0.1、openpyxl==3.0.5、jupyter==1.0.0、python==3.8 并试图收集 excel 数据来制作图表,但代码无法读取 xlsx 文件。 xls 旧版本的 excel 很好,但无法读取新版本的 excel 文件。有谁知道如何解决这个问题?还是我应该只使用 xls 数据或转换来读取文件。ㅠ.ㅠ

【问题讨论】:

请编辑您的问题以正确格式化。标题应该是标题。代码应该是代码。文字应该是文字。等等。 但是你的问题很可能是xlrd不适用于xlsx文件,必须改用openpyxl 你确定D:\SYun\BigData\DataScience-master\DataScience-master\data\05. draw_korea_raw.xls中存在xlsx吗? FileNotFoundError: [Errno 2] No such file or directory 有什么不清楚的地方? 对不起,我写错了,我编辑了它。它说不支持 xlsx,但是当我用谷歌搜索其他人工作时,但我的不工作。只是想知道有人和我有同样的问题并解决 【参考方案1】:

最新版本的 xlrd(2.01) 仅支持 .xls 文件。安装旧版本 1.2.0 可能会打开 .xlsx 文件。

或者要解决这个问题,请执行以下操作:

    安装openpyxl:这是另一个仍然支持xlsx格式的excel包

    将引擎设置为“openpyxl”而不是默认 “xlrd”

    # Install openyxl
    pip install openpyxl
    # set engine parameter to "openpyxl"
    pd.read_excel(path, engine = 'openpyxl')
    

【讨论】:

谢谢#Islam。我按照你说的尝试了 1. 将 r 放在路径之前 2. 简化了路径,但我仍然遇到“不支持 xlsx”的问题,所以我决定使用 openpyxl 打开文件并使用 pandas DataFrame 查看它。谢谢你的帮助【参考方案2】:

多次尝试使用 pandas 和 xlrd 读取 xlsx 文件。但我无法得到我想要的解决方案。所以我做了一个结论。最糟糕的方法是使用 openpyxl 将 xlsx 转换为 xls 'OR'

import openpyxl
import pandas as pd

wb = openpyxl.load_workbook('./06. result.xlsx')
sheet = wb.worksheets[0]

f = pd.DataFrame(sheet.values)

但此代码在第一列中生成 NaN。

【讨论】:

将我的文件保存为 XLS 格式,而不是 XLSX,起到了作用。非常感谢!

以上是关于无法在python中读取xlsx文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python读取xlsx文件

如何读取单个文件夹中的所有文件并导入Python Pandas中的数据操作[重复]

从python中的xls或xlsx文件读取后将数据转换为字符串

读取 OpenOffice xlsx 文件中的数据,然后使用 python 转换为列表

无法使用 read_excel 从 pandas 中的 xlsx 文件中读取日期列?

docx, xlsxwriter 库,用 python 来操作 docx, xlsx 格式文件