gpt4 book ai didi

python - 读取直接从 urlrquest 压缩的 json

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:11 26 4
gpt4 key购买 nike

我想直接将文件读取到 python 而无需保存它 - zip 文件相对较小并且完全适合 mem。

我目前正在尝试这个:

        import urllib
import json
access_url = urllib.request.urlopen('http://api.eia.gov/bulk/COAL.zip')
data = json.loads(access_url.read().decode())

但是我得到了错误:UnicodeDecodeError:“utf-8”编解码器无法解码位置 15 中的字节 0xa0:起始字节无效

什么额外的步骤可以解决这个问题?

我正在使用 python 3.6。

谢谢!

最佳答案

您现在将压缩存档(可以包含许多文件)视为包含实际数据的文件。让我们假设您的 zip 仅包含一个文件,然后包含实际的 JSON 数据。这会起作用:

import zipfile
import io
import urllib
import json

access_url = urllib.request.urlopen('http://api.eia.gov/bulk/COAL.zip')

z = zipfile.ZipFile(io.BytesIO(access_url.read()))
data = json.loads(z.read(z.infolist()[0]).decode())
print(data)

或者类似的东西。我实际上无法测试实时数据,但试一试。它基本上解压缩它在您的存档中找到的第一个文件,然后将其视为 json。

关于python - 读取直接从 urlrquest 压缩的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47333267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com