我试图把这个信息到一个数据帧,我得到了一个空的数据帧。这是我从API获得的信息示例:
[[{'$type': 'Tfl.Api.Presentation.Entities.Line, Tfl.Api.Presentation.Entities',
'id': '1',
'name': '1',
'modeName': 'bus',
'disruptions': [],
'created': '2019-08-20T16:25:25.377Z',
'modified': '2019-08-20T16:25:25.377Z',
'lineStatuses': [],
'routeSections': [{'$type': 'Tfl.Api.Presentation.Entities.MatchedRoute, Tfl.Api.Presentation.Entities',
'name': 'New Oxford Street - Canada Water Bus Station',
'direction': 'outbound',
'originationName': 'New Oxford Street',
'destinationName': 'Canada Water Bus Station',
'originator': '490000235Z',
'destination': '490004733D',
'serviceType': 'Regular',
'validTo': '2019-12-23T00:00:00Z',
'validFrom': '2019-08-17T00:00:00Z'},
{'$type': 'Tfl.Api.Presentation.Entities.MatchedRoute, Tfl.Api.Presentation.Entities',
'name': 'Canada Water Bus Station - Tottenham Court Road',
'direction': 'inbound',
'originationName': 'Canada Water Bus Station',
'destinationName': 'Tottenham Court Road',
'originator': '490004733C',
'destination': '490000235N',
'serviceType': 'Regular',
'validTo': '2019-12-23T00:00:00Z',
'validFrom': '2019-08-17T00:00:00Z'}],
'serviceTypes': [{'$type': 'Tfl.Api.Presentation.Entities.LineServiceTypeInfo, Tfl.Api.Presentation.Entities',
'name': 'Regular',
'uri': '/Line/Route?ids=1&serviceTypes=Regular'}],
'crowding': {'$type': 'Tfl.Api.Presentation.Entities.Crowding, Tfl.Api.Presentation.Entities'}},
{'$type': 'Tfl.Api.Presentation.Entities.Line, Tfl.Api.Presentation.Entities',
'id': '100',
'name': '100',
'modeName': 'bus',
'disruptions': [],
'created': '2019-08-20T16:25:25.367Z',
'modified': '2019-08-20T16:25:25.367Z',
'lineStatuses': [],
'routeSections': [{'$type': 'Tfl.Api.Presentation.Entities.MatchedRoute, Tfl.Api.Presentation.Entities',
'name': "King Edward Street / St Pauls Station - St George's Town Hall / Shadwell Stn",
'direction': 'outbound',
'originationName': 'King Edward Street / St Pauls Station',
'destinationName': "St George's Town Hall / Shadwell Stn",
'originator': '490008743N',
'destination': '490012020A',
'serviceType': 'Regular',
'validTo': '2019-12-23T00:00:00Z',
'validFrom': '2019-08-17T00:00:00Z'}
我需要在数据帧中获取此信息,所以我尝试了以下代码:
info2 = np.squeeze(info2).tolist()
dftypes = pd.DataFrame(columns = ["id", "name", "modeName", "routeSections"])
dfroutes=pd.DataFrame(columns =["$type","name","direction","originationName","destinationName","serviceType"])
i=0
j=0
for dic in info2:
for key in dic:
if key in dftypes.columns.tolist():
dftypes.loc[i,key]=str(dic[key])
if key=='routeSections':
for dic2 in dic[key]:
for key2 in dic2:
if key2 in dfroutes.columns.tolist():
dfroutes.loc[j,key2]=str(dic2[key2])
j+=1
i+=1
dftypes
我得到了一个空的数据帧。我想从routeSections、name、modeName等获取所有信息
你能告诉我做这件事的正确方法吗
与其阅读、争论并尝试转换成Pandas,不如直接针对tflapi使用
pd.read_json
。例如:给了我:
然后您可以直接在Pandas中操作数据
相关问题 更多 >
编程相关推荐