You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何无需下载直接解析URL中的json.gz格式文件并转DataFrame

实现方案

你需要先安装requests库用于发送网络请求,安装命令:
pip install requests

核心逻辑为通过requests的流式请求获取远程gz文件的二进制流,直接交给gzip模块逐行解压解析,全程不会在本地生成缓存文件,内存占用和你原有的本地读取逻辑一致。

完整可运行代码

import requests
import gzip
import pandas as pd

def parse_from_url(url, max_rows=50000):
    # 开启流式请求,避免大文件一次性加载占满内存
    resp = requests.get(url, stream=True, timeout=30)
    # 直接将响应的原始二进制流传给gzip解压
    with gzip.open(resp.raw, 'rb') as g:
        for i, line in enumerate(g):
            if i >= max_rows:
                break
            yield eval(line)

def getDF_from_url(url, max_rows=50000):
    df_dict = {}
    for idx, data in enumerate(parse_from_url(url, max_rows)):
        df_dict[idx] = data
    return pd.DataFrame.from_dict(df_dict, orient='index')

# 调用示例,直接填目标URL即可
target_url = "http://snap.stanford.edu/data/amazon/productGraph/categoryFiles/reviews_Clothing_Shoes_and_Jewelry_5.json.gz"
clothsrevi = getDF_from_url(target_url, max_rows=50000)

注意事项

  • 代码保留了原逻辑的最多读取50000行的限制,可通过调整max_rows参数自定义读取行数
  • 流式请求模式不会一次性加载整个大文件到内存,避免内存溢出
  • 网络环境较差时可适当增大timeout参数的数值,避免请求超时

内容的提问来源于stack exchange,提问作者nilesh varpe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 21:54:01