我正在使用以下代碼從 API JSON 創建 Excel 檔案:
import requests
import pandas as pd
df = pd.read_json("my API url")
df.to_excel("myFileLocation.xlsx")
問題是我的 JSON 沒有正確決議,因為 API 中有一個外部陣列(我已經通過手動更改 JSON 來洗掉“外部陣列”并正確決議)進行了測驗:
{"outer array": [{"Header1": "Value1", "Header2": Value2},{"Header1": "Value3", "Header 2": Value 4}]}
如何更新現有代碼以洗掉此外部陣列?
uj5u.com熱心網友回復:
假設你的 URL 回傳的 json 如下:
d = '{"outer array": [{"Header1": "Value1", "Header2": "Value2"}, {"Header1": "Value3", "Header2": "Value4"}]}'
您可以json在呼叫之前簡單地決議它pd.DataFrame:
import requests
import json
import pandas as pd
d = requests.get("http://my/api/url/").json()
df = pd.DataFrame(json.loads(d)["outer array"])
>>> df
Header1 Header2
0 Value1 Value2
1 Value3 Value4
uj5u.com熱心網友回復:
在將資料傳遞給 Pandas 之前,您需要進行一些操作,不幸的是,這意味著您需要自己從 URL 中檢索資料。
您可以將其作為字串操作來執行,也可以將其決議為字典并訪問該值。使用字串操作:
import requests
response = requests.get("my API url")
df = pd.read_json(response.text.removeprefix('{"outer array": ').removesuffix('}'))
您可能需要安裝請求:
python -m pip install requests
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/343636.html
