使用python从API下载

我在一家公司工作,有一个项目,我需要每天从公司的 API 下载数据集。每个 API 均由 Feed ID 定义。我可以生成一个 URL,当我在浏览器上运行时,它会下载最新的 Excel 文件。我需要该 Excel 文件中的数据。每天,我应该读取 Python 数据框中的文件内容并对其进行一些计算。这是我现在使用的代码。

import requests
url = 'XXXX.getDataSetByFeedId?feedId={}'.format(
               feed_id)
r = requests.get(url=url, auth=HTTPBasicAuth(username, passwd))

当我打印时r,它不是一个数据集,它只是一个表示请求成功的文本。我试过:

r.json()

但这给了我一个错误

JSONDecodeError:期望值


四季花海
浏览 94回答 1
1回答

jeck猫

将文件下载为二进制内容。您无法将其转换为 JSON,这就是您收到错误的原因。尝试这个:import requestsr = requests.get('XXXX.getDataSetByFeedId', params={'feedId': feed_id}, auth=(username, passwd))filename = '{}.xlsx'.format(feed_id)with open(filename, 'wb') as f:    f.write(r.content)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python