【问题标题】:Downloading from API using python使用python从API下载
【发布时间】:2020-10-06 17:19:12
【问题描述】:

我为一家公司工作,我需要每天从公司的 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: 期望值

【问题讨论】:

  • XXXX.getDataSetByFeedId 是一个有效的网址吗?
  • 是的。出于安全原因,我删除了第一部分

标签: python json api python-requests


【解决方案1】:

将文件下载为二进制内容。您无法将其转换为 JSON,这就是您收到错误的原因。试试这个:

import requests

r = 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)

【讨论】:

  • 谢谢,如何定义参数file.xlsx?
猜你喜欢
  • 1970-01-01
  • 2022-11-11
  • 2022-12-15
  • 2014-07-06
  • 1970-01-01
  • 2020-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多