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

如何用Python从JSON响应的URL中下载CSV文件?

解决方法

你当前的问题是:调用目标API后返回的是包含文件定位信息的JSON,而非直接的CSV内容,但你把JSON响应直接存成了CSV文件,所以得到的是JSON文本而非目标CSV。正确流程是先从JSON中提取文件标识,再用这个标识请求真实的CSV文件。

修正后的代码

import requests

header = {'Authorization': 'bearer ' + my_token}
# 第一步:请求获取文件标识的JSON响应
resp = requests.get(fileURL, headers=header)
resp_json = resp.json()
file_path = resp_json['files']['file']
target_file_name = resp_json['files']['fileName']

# 第二步:构建真实的CSV下载URL,拼接API基础地址与文件标识
csv_download_url = f"https://api-c33.nice-incontact.com/inContactAPI/services/V28.0/files/{file_path}"

# 第三步:请求CSV内容并保存到本地
csv_resp = requests.get(csv_download_url, headers=header)
with open(target_file_name, "wb") as f:
    f.write(csv_resp.content)

关键说明

  • 原API返回的files.file是定位真实CSV文件的路径片段,必须和API的基础地址拼接成完整下载URL,才能获取到CSV内容。
  • 使用with open语句处理文件,能自动完成资源释放,避免文件句柄泄漏。
  • 直接使用返回的fileName作为保存文件名,确保和目标文件的命名一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 06:42:38