我在一家公司工作,有一個(gè)項(xiàng)目,我需要每天從公司的 API 下載數(shù)據(jù)集。每個(gè) API 均由 Feed ID 定義。我可以生成一個(gè) URL,當(dāng)我在瀏覽器上運(yùn)行時(shí),它會(huì)下載最新的 Excel 文件。我需要該 Excel 文件中的數(shù)據(jù)。每天,我應(yīng)該讀取 Python 數(shù)據(jù)框中的文件內(nèi)容并對(duì)其進(jìn)行一些計(jì)算。這是我現(xiàn)在使用的代碼。import requests
url = 'XXXX.getDataSetByFeedId?feedId={}'.format(
feed_id)
r = requests.get(url=url, auth=HTTPBasicAuth(username, passwd))當(dāng)我打印時(shí)r,它不是一個(gè)數(shù)據(jù)集,它只是一個(gè)表示請(qǐng)求成功的文本。我試過:r.json()但這給了我一個(gè)錯(cuò)誤JSONDecodeError:期望值
1 回答

jeck貓
TA貢獻(xiàn)1909條經(jīng)驗(yàn) 獲得超7個(gè)贊
將文件下載為二進(jìn)制內(nèi)容。您無法將其轉(zhuǎn)換為 JSON,這就是您收到錯(cuò)誤的原因。嘗試這個(gè):
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)
添加回答
舉報(bào)
0/150
提交
取消