我想知道 3 本書位于哪個法國大學圖書館(對應 3 個 url)。我想獲取這 3 個 url 的 json 資料,但所有結果都不相同:如果一本書在多個法語圖書館中,則會創建一個串列,但如果它們僅在 1 個圖書館中,則結果在字典中。這擾亂了我試圖獲取的資料框。
這是我的網址串列:
urls
['https://www.sudoc.fr/services/multiwhere/23284545X&format=text/json',
'https://www.sudoc.fr/services/multiwhere/056068646&format=text/json',
'https://www.sudoc.fr/services/multiwhere/244974632&format=text/json']
這是我的回圈:
data=[]
for u in urls:
req=requests.get(u)
wb=req.json()["sudoc"]["query"]["result"]["library"]
data.append(wb)
data2=pd.DataFrame(data).stack().apply(pd.Series)
data2
這就是我得到的:
0 latitude longitude rcr shortname
0 0 NaN 48.5871803 7.7551573 674821001 STRASBOURG-BNU
1 NaN 48.5789749 7.7651191 674822225 STRASBOURG-Orientales
2 NaN 48.8492618 2.3433311 751052105 PARIS-BIS, Fonds ge?ne?ral
3 NaN 48.8467139 2.3463854 751052116 PARIS-Bib. Sainte Genevie?ve
4 NaN 48.8274879 2.3761096 751132108 PARIS-BULAC
1 0 NaN 48.5871803 7.7551573 674821001 STRASBOURG-BNU
1 NaN 48.8274879 2.3761096 751052201 PARIS-BULAC-IEI J. Darmesteter
2 NaN 48.846328 2.351046 751055408 PARIS-Bib. Socie?te? asiatique
2 0 rcr NaN NaN NaN NaN
1 latitude NaN NaN NaN NaN
2 shortname NaN NaN NaN NaN
3 longitude NaN NaN NaN NaN
它不適用于上一本書,因為 json 結果不像其他兩本書那樣在串列中。
你能幫我嗎?
謝謝 !:)
uj5u.com熱心網友回復:
我不知道資料框最后應該是什么樣子,但只需將 dict 放入串列中,希望完成魔法:)
import requests
import pandas as pd
urls = ['https://www.sudoc.fr/services/multiwhere/23284545X&format=text/json',
'https://www.sudoc.fr/services/multiwhere/056068646&format=text/json',
'https://www.sudoc.fr/services/multiwhere/244974632&format=text/json']
data = []
for url in urls:
response = requests.get(url)
wb = response.json()["sudoc"]["query"]["result"]["library"]
if type(wb) == dict:
wb = [wb]
data.append(wb)
data2 = pd.DataFrame(data).stack().apply(pd.Series)
print(data2)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/522831.html
上一篇:合并具有相同鍵的值
