python - 如何在不提取的情况下有效地遍历读取所有文件的 7z 存档?
问题描述
我有一个包含大量 JSON 的 7z 存档。遍历存档并读取每个 JSON 的最有效(=最快)方法是什么?
我的目标是从存档中的每个 JSON 中提取某个密钥,最好不要将未压缩的文件提取并保存到磁盘。结果应该是一个腌制的熊猫数据框。
这个问题可能通过使用py7zr指向正确的方向。我找到了readall() -方法,但似乎出了点问题。
import py7zr
import re
from py7zr import FILTER_BROTLI
filters = [{'id': FILTER_BROTLI, 'level': 9}]
with py7zr.SevenZipFile('testzip.7z', 'r', filters=filters) as zip:
for fname, bio in zip.readall().items():
print('{:s}: {:X}...'.format(name, bio.read(10)))
只退货
UnsupportedCompressionMethodError: Unauthorized and modified Brotli data (skipable frame) found.
似乎 Brotli 存在一些问题。有什么线索吗?
解决方案
推荐阅读
- apache-kafka - 是否可以仅使用 Kafka 连接器 API 将数据从云端传输到本地?
- jquery - 两个 div 停靠和取消停靠
- ios - 关闭 TableViewCell 的 UIViewController
- angularjs - 由于 $$SanitizeUriProvider() 不是构造函数,$injector:modulerr 无法实例化模块 ng
- php - 我正在尝试将表单中的文本字段下拉到 mySQL DB 中,这给我带来了麻烦
- node.js - 在 Node API 中的一定时间后刷新 Oauth 令牌
- c - 将 libcurl 中的 HTML 与文件中的文本进行比较
- sql - 代码中的 .id 是什么意思?它是rowid伪列吗?
- powershell - 查找与程序关联的 msi 卸载 ID,如果存在则卸载
- python - 哪个条件语句更 Pythonic?