Python 在openpyxl中从zipfolder打开Excel文件
我正在尝试以下代码Python 在openpyxl中从zipfolder打开Excel文件,python,openpyxl,Python,Openpyxl,我正在尝试以下代码 from zipfile import ZipFile from openpyxl import load_workbook from io import BytesIO zip_path = r"path/to/zipfile.zip" with ZipFile(zip_path) as myzip: with myzip.open(myzip.namelist()[0]) as myfile: wb = load_workbook(filenam
from zipfile import ZipFile
from openpyxl import load_workbook
from io import BytesIO
zip_path = r"path/to/zipfile.zip"
with ZipFile(zip_path) as myzip:
with myzip.open(myzip.namelist()[0]) as myfile:
wb = load_workbook(filename=BytesIO(myfile.read()))
data_sheet = wb.worksheets[1]
for row in data_sheet.iter_rows(min_row=3, min_col=3):
print(row[0].value)
它表明
ValueError:stat:路径对于Windows太长
这可能吗
我正在尝试使用xlrd从执行逻辑,以下代码运行良好
with ZipFile(zip_path) as myzip:
with myzip.open(myzip.namelist()[0]) as myfile:
book = xlrd.open_workbook(file_contents=(myfile.read()))
sh = book.sheet_by_index(0)
#your code here
你的代码使用xlrd而不是openpyxl。我把事情搞混了。让我再试一次。我已经改正了错误。还有可能吗?你试过这个代码吗
xlrd
会给出您显示的错误,因为它会尝试使用您作为文件名传递的BytesIO
(使用file\u contents
代替xlrd),但粗略查看代码似乎表明openpyxl会检测到差异。file\u contents有效。谢谢