我有来自 API 的数据,格式如下:
PublicAssistanceFundedProjectsSummaries
0 [{'disasterNumber': 1239, 'declarationDate': '...
我希望它采用以下格式:
disasterNumber declarationDate etc. etc.
1239 11/21/2001 XYZ. XYZ
我该如何解决这个问题?我当前的代码如下所示:
g = requests.get('https://www.fema.gov/api/open/v1/PublicAssistanceFundedProjectsSummaries?get=PublicAssistanceFundedProjectsSummaries').json()
df_g = json_normalize(g)
df_g2 = df_g.drop(df_g.columns[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]], axis=1)
抱歉,我对编码很陌生。
最佳答案
您已经很接近了,只需指定 PublicAssistanceFundedProjectsSummaries
键:
df = json_normalize(g, 'PublicAssistanceFundedProjectsSummaries')
或者:
df = json_normalize(g['PublicAssistanceFundedProjectsSummaries'])
<小时/>
print (df.head())
disasterNumber declarationDate incidentType state \
0 1239 1998-08-26T00:00:00.000Z Severe Storm(s) Texas
1 1240 1998-08-27T00:00:00.000Z Hurricane North Carolina
2 1240 1998-08-27T00:00:00.000Z Hurricane North Carolina
3 1240 1998-08-27T00:00:00.000Z Hurricane North Carolina
4 1240 1998-08-27T00:00:00.000Z Hurricane North Carolina
county applicantName educationApplicant \
0 Val Verde UNITED MEDICAL CENTERS False
1 NaN ATLANTIC TELEPHONE MEMBERSHIP CORP. False
2 NaN CARTERET COUNTY SCHOOLS True
3 NaN CEDAR POINT, TOWN OF False
4 NaN AURORA, TOWN OF False
numberOfProjects federalObligatedAmount hash \
0 1 12028.63 5d10528e4d343d96061da8816465e64b
1 1 30956.35 4aad896727265f6e5948a76e7977f57e
2 4 1288255.25 eb55e580a33cd4d97fa8fd1f0d71294d
3 1 4125.00 e8ed9d023142825fa658ef7b5ae4729a
4 6 22810.25 23684ce3b4d27bc7561c39b024c3a05d
lastRefresh id
0 2019-10-18T14:06:56.673Z 5da9c7005164620fcb0213ca
1 2019-10-18T14:06:56.676Z 5da9c7005164620fcb0213dd
2 2019-10-18T14:06:56.680Z 5da9c7005164620fcb0213f4
3 2019-10-18T14:06:56.680Z 5da9c7005164620fcb0213f8
4 2019-10-18T14:06:56.676Z 5da9c7005164620fcb0213da
关于python - 如何使用 pandas 将 API 中的数据拆分为行和列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59881102/