简体   繁体   English

Python:如何将文本数据从请求对象转换为数据框?

[英]Python: how to convert text data from requests object to a dataframe?

I am trying to get data from [OECD][1] and this is what I am doing: 我正在尝试从[OECD][1]获取数据,这就是我正在做的事情:

import requests
import pandas as pd
import json 

r = requests.get('http://stats.oecd.org/SDMX-JSON/data/CITIES/AUS+AUS01+AUS02+AUS03+AUS04+AUS05+AUS06+AUT+AT001+AT002+AT003+BEL+BE001+BE002+BE003+BE005+CAN+CAN09+CAN20+CAN26+CAN01+CAN04+CAN06+CAN16+CAN21+CAN29+CHE+CH001+CH002+CH003+CHL+CL010+CL011+CL020+CZE+CZ001+CZ002+CZ003+DEU+DE001+DE002+DE003+DE004+DE005+DE007+DE006+DE008+DE009+DE010+DE011+DE012+DE013+DE014+DE015+DE027+DE033+DE034+DE035+DE040+DE501+DE502+DE504+DE507+DNK+DK001+EST+EE001+ESP+ES001+ES002+ES003+ES004+ES005+ES006+ES008+ES019+FIN+FI001+FRA+FR001+FR003+FR203+FR004+FR006+FR007+FR008+FR009+FR010+FR011+FR013+FR026+FR032+FR205+FR215+GRC+GR001+GR002+HUN+HU001+IRL+IE001+ITA+IT001+IT002+IT003+IT004+IT005+IT006+IT007+IT008+IT009+IT010+IT011+JPN+JP013+JP003+JP030+JP034+JP038+JP066+JP015+JP020+JP021+JP023+JP024+JP025+JP026+JP031+JP036+JP039+JP040+JP042+JP046+JP047+JP048+JP050+JP051+JP052+JP053+JP054+JP055+JP059+JP064+JP065+JP067+JP071+JP074+JP075+JP077+JP078+KOR+KR004+KR025+KR032+KR015+KR018+KR022+KR026+KR029+KR033+KR035+MEX+MEX01+MEX02+MEX05+MEX08+MEX10+MEX16+MEX19+MEX20+MEX21+MEX22+MEX24+MEX28+MEX29+MEX31+MEX33+MEX34+MEX35+MEX37+MEX38+MEX40+MEX42+MEX46+MEX50+MEX51+MEX52+MEX55+MEX59+MEX60+MEX61+MEX70+MEX73+MEX74+MEX75+NLD+NL002+NL001+NL003+NL004+NL005+NOR+NO001+POL+PL001+PL010+PL002+PL003+PL004+PL005+PL006+PL009+PRT+PT001+PT002+SWE+SE001+SE002+SE003+SVN+SI001+SVK+SK001+GBR+UK001+UK002+UK003+UK004+UK005+UK006+UK007+UK008+UK009+UK010+UK011+UK017+UK023+UK097+UK098+USA+US106+US107+US114+US012+US122+US124+US125+US128+US134+US135+US014+US146+US190+US196+US202+US209+US210+US242+US245+US250+US259+US003+US033+US045+US048+US055+US069+US084+US103+US115+US117+US133+US141+US147+US149+US154+US155+US159+US160+US161+US170+US174+US178+US180+US181+US186+US195+US205+US212+US213+US223+US227+US233+US234+US237+US241+US251+US252+US261+US035+US038+US039+US044+US060+US065+US070+US077+US081+US089+US097.GDP+GDP_SHARE+LABOUR_PRODUCTIVITY+GDP_PC/all?startTime=2000&endTime=2014&dimensionAtObservation=allDimensions&pid=680782c8-2250-4f23-bfba-7c57c9d344a5')
x = r.json()

I would like to have a dataframe containing the information of the different cities. 我想要一个包含不同城市信息的数据框。

I am trying to follow the different examples but I get errors. 我尝试遵循不同的示例,但出现错误。 For instance I tried to do: 例如我试图做:

df = pd.DataFrame(x)

which returns 哪个返回

ValueError: Mixing dicts with non-Series may lead to ambiguous ordering.

x looks like the following: x如下所示:

x:
{u'dataSets': [{u'action': u'Information',
   u'observations': {u'157:2:0': [17287.96, 0, None, 0, 1, 0],
    u'157:2:1': [17224.83, 0, None, 0, 1, 0],
    u'157:2:2': [17874.27, 0, None, 0, 1, 0],
    u'157:2:3': [18020.82, 0, None, 0, 1, 0],

尝试将列表提供给数据框。

df = pd.DataFrame(x['dataSets'])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM