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

Python调用Anaplan API返回gzip响应无法正常读取如何解决

问题根因

你拿到的二进制返回结果开头PK\x03\x04是ZIP格式的标准标识,结合内容里的[Content_Types].xml、xl/sharedStrings.xml等特征,说明Anaplan API返回的是XLSX格式的Excel文件(XLSX本质是ZIP压缩包)。
响应头的Content-Encoding: gzip是传输层压缩,requests默认会自动处理,你打印的r.content已经是解压后的原始文件内容,不是乱码。

解决方案

1. 直接保存到本地

import requests

url = f'https://api.anaplan.com/2/0/workspaces/{workspace}/models/{model}/files/{fileId}/chunks/0'
headers = {
    'Authorization': f'AnaplanAuthToken {keys["tokenInfo"]["tokenValue"]}'
    # GET请求无需携带Content-Type请求头,可删除冗余配置
}

r = requests.get(url, headers=headers)
r.raise_for_status()

# 直接写入二进制内容为xlsx文件
with open("anaplan_export.xlsx", "wb") as f:
    f.write(r.content)

写入完成后即可用Excel直接打开查看内容。

2. 内存直接读取无需存盘

如果需要直接在Python中处理文件内容,可通过字节流读取:

import pandas as pd
from io import BytesIO

# 接上述请求代码
excel_stream = BytesIO(r.content)
# 读取Excel第一个工作表,可按需调整参数
df = pd.read_excel(excel_stream, engine="openpyxl")
print(df.head())

补充说明

如果导出的文件体积较大被分为多个chunk,需要按顺序请求所有chunk的内容拼接完整后,再执行保存或读取操作,仅解析单个chunk会得到损坏的文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:39:03