gpt4 book ai didi

python - 有没有办法使用 openpyxl 读取没有工作簿的 Excel 文件?

转载 作者:行者123 更新时间:2023-12-01 08:41:25 25 4
gpt4 key购买 nike

我正在使用 Python 2.7openpyxl==2.5.11

对于具有有效工作簿的文件,我正在使用以下代码阅读内容:

wb = openpyxl.load_workbook('my_file.xlsx', read_only=True)
ws = wb.worksheets[1]
rows = ws.rows

现在,测试人员向我提供了一个旧文件,该文件没有有效的工作簿部分并引发此错误:

IOError:文件不包含有效的工作簿部分

在这一行中ws = wb.worksheets[1]

我在 openpyxl 文档中找不到如何读取此类文件数据的示例。

我设法使用pandas读取该文件:
数据 = pandas.read_excel('my_file.xlxs')

有没有办法使用 openpyxl 读取文件,因为我已经在我的应用中使用 openpyxl 并且不想完全迁移到 pandas,也不在我的应用程序的不同位置使用两者。理想情况下,我希望使用单个库来跨所有应用程序服务进行 Excel 文件操作,如果可能的话,我希望避免将 openpyxl 转换为 pandas,因为我无法估计有多大转换所需的努力,以及我的所有用例是否都能与 pandas 开箱即用。

最佳答案

这可能不完全是您正在寻找的内容,但您可以使用 pandas 读取 Excel 文件,然后使用 openpyxl.utils.dataframe module 将其转换为 openpyxl 行。 .

实现示例

from openpyxl.utils.dataframe import dataframe_to_rows
import pandas as pd
from openpyxl import Workbook

# pandas code
xl = pd.ExcelFile("dummydata.xlsx")
df = xl.parse(xl.sheet_names[0])

# openpyxl code
wb = Workbook()
ws = wb.active

for r in dataframe_to_rows(df, index=True, header=True):
ws.append(r)

关于python - 有没有办法使用 openpyxl 读取没有工作簿的 Excel 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53472545/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com