Python 将JSON读入Excel
我试图从URL解析JSON数据。我已获取数据并将其解析为数据帧。从表面上看,我错过了一步 数据在excel中以JSON格式返回,但我的数据框返回两列:条目号和JSON文本Python 将JSON读入Excel,python,json,pandas,Python,Json,Pandas,我试图从URL解析JSON数据。我已获取数据并将其解析为数据帧。从表面上看,我错过了一步 数据在excel中以JSON格式返回,但我的数据框返回两列:条目号和JSON文本 import urllib.request import json import pandas with urllib.request.urlopen("https://raw.githubusercontent.com/gavinr/usa- mcdonalds-locations/master/mcdonalds.geoj
import urllib.request
import json
import pandas
with urllib.request.urlopen("https://raw.githubusercontent.com/gavinr/usa-
mcdonalds-locations/master/mcdonalds.geojson") as url:
data = json.loads(url.read().decode())
print(data)
json_parsed = json.dumps(data)
print(json_parsed)
df=pandas.read_json(json_parsed)
writer = pandas.ExcelWriter('Mcdonaldsstorelist.xlsx')
df.to_excel(writer,'Sheet1')
writer.save()
我相信您可以使用json\u normalize
:
我的数据框返回两列:条目号和Json文本->请参见下面的{'geometry':{'type':'Point','coordinates':[-80.140924,25.789141]},'properties':{'storeNumber':'14372','PlayPlay':'N','storeUrl':'','address:'1601 ALTON RD','driveThru:'Y','phone':'(305)672-7055“,”商店类型“:”独立“,”免费WiFi“:”Y“,”城市“:”迈阿密海滩“,”archCard“:”Y“,”州“:”FL“,”zip“:”33139-2420“},,”类型“:”功能“}我希望将每个字段解析成单独的列,从URL解析不是问题。您是否尝试过打印数据帧本身?您可以在不使用excel的情况下调试代码是的,打印DF会得到相同的结果。给我第二列中的JSON字符串,没有分隔。看起来我必须将字符串中的数组展平,我一直在用谷歌搜索一些技术。谢谢你的帮助谢谢你的帮助,我实际上已经把它编入了索引,就像你没有看到答案一样!谢谢你的帮助
df = pd.io.json.json_normalize(data['features'])
df.head()
geometry.coordinates geometry.type properties.address \
0 [-80.140924, 25.789141] Point 1601 ALTON RD
1 [-80.218683, 25.765501] Point 1400 SW 8TH ST
2 [-80.185108, 25.849872] Point 8116 BISCAYNE BLVD
3 [-80.37197, 25.550894] Point 23351 SW 112TH AVE
4 [-80.36734, 25.579132] Point 10855 CARIBBEAN BLVD
properties.archCard properties.city properties.driveThru \
0 Y MIAMI BEACH Y
1 Y MIAMI Y
2 Y MIAMI Y
3 N HOMESTEAD Y
4 Y MIAMI Y
properties.freeWifi properties.phone properties.playplace properties.state \
0 Y (305)672-7055 N FL
1 Y (305)285-0974 Y FL
2 Y (305)756-0400 N FL
3 Y (305)258-7837 N FL
4 Y (305)254-3487 Y FL
properties.storeNumber properties.storeType properties.storeUrl \
0 14372 FREESTANDING http://www.mcflorida.com/14372
1 7408 FREESTANDING http://www.mcflorida.com/7408
2 11511 FREESTANDING http://www.mcflorida.com/11511
3 34014 FREESTANDING NaN
4 12215 FREESTANDING http://www.mcflorida.com/12215
properties.zip type
0 33139-2420 Feature
1 33135 Feature
2 33138 Feature
3 33032 Feature
4 33157 Feature
df.columns
Index(['geometry.coordinates', 'geometry.type', 'properties.address',
'properties.archCard', 'properties.city', 'properties.driveThru',
'properties.freeWifi', 'properties.phone', 'properties.playplace',
'properties.state', 'properties.storeNumber', 'properties.storeType',
'properties.storeUrl', 'properties.zip', 'type'],
dtype='object')