使用openpyxl无法读取excel文件

2023-12-29

我有一个 Excel 文件列表,最后一行类似。它包含有关客户的私人信息(他的名字、姓氏、电话)。每个excel文件对应一个客户。我需要制作一个 Excel 文件,其中包含每个客户的所有数据。我决定自动执行此操作,所以查看了openpyxl图书馆。我编写了以下代码,但它不能正常工作。

import openpyxl
import os
import glob
from openpyxl import load_workbook
from openpyxl import Workbook
import openpyxl.styles
from openpyxl.cell import get_column_letter

path_kit = 'prize_input/kit'

#creating single document
prize_info = Workbook()
prize_sheet = prize_info.active

file_array_reciever = []

for file in glob.glob(os.path.join(path_kit, '*.xlsx')):
    file_array_reciever.append(file)

row_num = 1
for f in file_array_reciever:
    f1 = load_workbook(filename=f)
    sheet = f1.active
    for col_num in range (3, sheet.max_column):
        prize_sheet.cell(row=row_num, column=col_num).value = \
            sheet.cell(row=sheet.max_row, column=col_num).value

    prize_info.save("Ex.xlsx")

我收到此错误:

Traceback (most recent call last):
  File "/Users/zkid18/PycharmProjects/untitled/excel_test.py", line 43, in <module>
    f1 = load_workbook(filename=f)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/openpyxl/reader/excel.py", line 183, in load_workbook
    wb.active = read_workbook_settings(archive.read(ARC_WORKBOOK)) or 0
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/zipfile.py", line 1229, in read
    with self.open(name, "r", pwd) as fp:
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/zipfile.py", line 1252, in open
    zinfo = self.getinfo(name)
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/zipfile.py", line 1196, in getinfo
    'There is no item named %r in the archive' % name)
KeyError: "There is no item named 'xl/workbook.xml' in the archive"

看起来是读取文件的问题。
我不明白它从哪里得到一个名为'xl/workbook.xml'在档案中。


选项1:我通过添加解决了这个问题read_only=True: 具体来说,替换

f1 = load_workbook(filename=f) with

f1 = load_workbook(filename=f, read_only=True)

注意:根据您的代码,read_only=True可以让你的代码very慢的。如果您遇到这种情况,您可能需要尝试选项 2。

选项2:在 Excel 中打开有问题的工作簿,然后将其重新另存为Strict Open XML Spreadsheet (*.xlsx)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用openpyxl无法读取excel文件 的相关文章

随机推荐