python流式处理zip和xls文件
一般情况下我有一个二进制的数据,可以另存为1.zip,zip文件解压之后有1个1.xls文件,这样我可以解压zip文件然后使用相关的包读取xls文件即可
但是我现在不想这样做,我想在不创建文件的情况下,直接在内存中解压二进制数据,并且解码得到的xls的二进制数据接着处理,我应该如何做。。搜索半天网上没有找到这样的解决方案,我也不知道用什么包可以做到
回答:
from zipfile import ZipFileimport io
import xlrd
with ZipFile(io.BytesIO(open('test.xlsx.zip', 'rb').read())) as myzip:
with myzip.open('test.xlsx', 'r') as myfile:
print(xlrd.open_workbook(file_contents=myfile.read()).sheets()[0].name)
回答:
首先你所谓的“不创建文件”的意思是不创建解压后的文件,还是源zip文件也不创建?
zip是文件归档压缩格式,其中必然有文件存储结构。如果你只是加解压数据流,你应该用gzip
以上是 python流式处理zip和xls文件 的全部内容, 来源链接: utcz.com/a/160068.html