Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在openpyxl中从zipfolder打开Excel文件_Python_Openpyxl - Fatal编程技术网

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有效。谢谢