簡體   English   中英

如何使用Python閱讀此鏈接? 熊貓還是BS4?

[英]How should I read this link with Python? Pandas or BS4?

我正在嘗試閱讀以下與Pandas的鏈接:

http://api.eia.gov/series/?api_key=3d82a096b5e846caa05ddc8e747a7fd&series_id=PET.WGIRIUS2.W

我試過使用pd.read_json() ,它返回錯誤ValueError: Mixing dicts with non-Series may lead to ambiguous ordering.

我嘗試使用pd.read_csv返回沒有任何行的DataFrame,並且所有列都在列表中。

這是我的代碼的第一部分:

import pandas as pd

eia_key='<private>'

def link_category(id_number):
    return 'http://api.eia.gov/category/?api_key='+eia_key+'&category_id='+id_number

def link_series(id_number):
    return 'http://api.eia.gov/series/?api_key='+eia_key+'&series_id='+id_number


'''U.S. Gross Inputs into Refineries, Weekly'''

page=link_series('PET.WGIRIUS2.W')

然后我嘗試:

df=pd.read_csv(page)

我將所有表值作為列名弄亂了...但是如果我嘗試

df=pd.read_json(page)

我得到上面提到的錯誤...

關於使用Python讀取這些EIA數據集的最佳方法有何建議? 我願意使用另一個庫,例如BS4,如果那樣會更好。

先感謝您!!!!

我相信您只是希望響應中沒有data字段。

import json, requests
d = json.loads(requests.get(page).text)
df = pd.DataFrame(d['series'][0]['data'])

df將為您提供您想要的數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM