首页 > 解决方案 > 请求 API 但返回空,为什么?

问题描述

搜索了各种方法,没有工作,不明白哪个部分出错了。

它适用于单次,如何遍历 ID 列表,某些 ID 可能会返回错误,跳过。

当前代码

x = 22555003
URL = "https://data.gcis.nat.gov.tw/od/data/api/5F64D864-61CB-4D0D-8AD9-492047CC1EA6?$format=json&$filter=Business_Accounting_NO eq {}".format(x)
response = requests.get(url = URL)
data = response.json()
result = pd.DataFrame(data)
result.head()

渴望输出但错误

listID = ['22555003','12345678','27240313']
#12345678 is error ID
result = []
for x in listID:
    try:
        JSONContent = requests.get("https://data.gcis.nat.gov.tw/od/data/api/5F64D864-61CB-4D0D-8AD9-492047CC1EA6?$format=json&$filter=Business_Accounting_NO eq {}".format(x)).json()
        result.append([JSONContent['Business_Accounting_NO'],
                       JSONContent['Capital_Stock_Amount']])
    except:
        pass

dataset = pd.DataFrame(result)
dataset.head()

为什么结果为空?谢谢!!!

标签: pythonpandasapirequest

解决方案


import pandas as pd
import requests



listID = ['22555003','12345678','27240313']
#12345678 is error ID
result = []
for x in listID:
    try:
        JSONContent = requests.get("https://data.gcis.nat.gov.tw/od/data/api/5F64D864-61CB-4D0D-8AD9-492047CC1EA6?$format=json&$filter=Business_Accounting_NO eq {}".format(x)).json()
        #print(JSONContent[0]['Business_Accounting_NO'])
        result.append([JSONContent[0]['Business_Accounting_NO'],JSONContent[0]['Capital_Stock_Amount']])
        print(result)
    except Exception as e:
        print(e)
dataset = pd.DataFrame(result)
dataset.head()
print(result)

推荐阅读