首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从GET请求中从zip文件中提取文件

从GET请求中从zip文件中提取文件
EN

Stack Overflow用户
提问于 2022-11-02 16:39:16
回答 2查看 41关注 0票数 0

目前,我对URL有一个GET请求,它返回三种内容:.zip文件、.zipsig文件和.txt文件。

我只对.zip文件感兴趣,它有几十个.json文件。我想提取所有这些.json文件,更好的是直接进入单个熊猫数据框架,但将它们提取到文件夹中也是有效的。

到目前为止,大部分代码被盗用:

代码语言:javascript
运行
复制
license = requests.get(url, headers={'Authorization': "Api-Token " + 'blah'})
z = zipfile.ZipFile(io.BytesIO(license.content))
billingRecord = z.namelist()[0]
z.extract(billingRecord, path = "C:\\Users\\Me\\Downloads\\Json license")

这会将整个.zip文件提取到路径。我希望将单个.json文件从上述.zip文件提取到路径中。

EN

Stack Overflow用户

回答已采纳

发布于 2022-11-02 18:27:09

代码语言:javascript
运行
复制
import io
import zipfile
import pandas as pd
import json
dfs = []
with zipfile.ZipFile(io.BytesIO(license.content)) as zfile:
    for info in zfile.infolist():
        if info.filename.endswith('.zip'):
            zfiledata = io.BytesIO(zfile.read(info.filename))
            with zipfile.ZipFile(zfiledata) as json_zips:
                for info in json_zips.infolist():
                    if info.filename.endswith('.json'):
                        json_data = pd.json_normalize(json.loads(json_zips.read(info.filename)))
                        dfs.append(json_data)
df = pd.concat(dfs, sort=False)
print(df)
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74292737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档