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

如何通过Python从API下载嵌入式文件/CSV并保存至项目目录?

问题解答

1. 下载API请求中嵌入的文件/CSV

通过requests发起请求后,将响应的字节内容写入本地文件即可。若是CSV文件,可用文本或二进制模式写入;若是二进制文件(如Excel),必须使用二进制写入模式。

2. 将Excel保存至Python项目目录

完全可以实现。只需指定项目目录下的目标文件名(比如./downloaded_excel.xlsx,./代表当前项目根目录),再把响应的字节内容写入该文件即可。

3. 将response.content的字节内容转为实际Excel文件

response.content本身就是文件的二进制字节流,直接以二进制写入模式打开一个文件,将字节内容写入进去,就能生成可正常打开的Excel文件。

修改后的完整代码

import requests
import os

# 获取当前项目目录(确保路径准确,避免工作目录差异导致的路径问题)
project_dir = os.path.dirname(os.path.abspath(__file__))
target_file = os.path.join(project_dir, "downloaded_logs.xlsx")

url = 'https://testtest-api.com/logs'
response = requests.get(url)

# 先验证请求是否成功
if response.status_code == 200:
    # 以二进制写入模式保存文件
    with open(target_file, 'wb') as f:
        f.write(response.content)
    print(f"文件已保存至:{target_file}")
else:
    print(f"请求失败,状态码:{response.status_code}")

额外说明

  • 必须用'wb'模式写入Excel文件,文本模式('w')会破坏文件结构,导致文件无法正常打开。
  • 如果API返回的是CSV,除了二进制模式,也可以用'w'模式加上编码(如encoding='utf-8')写入,但二进制模式适配性更强。
  • 若确认运行脚本时的工作目录就是项目根目录,也可以直接用相对路径(比如"./downloaded_logs.xlsx")代替os.path拼接的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:54:16