Python 如何从另一个网站向正确的json对象添加新元素?
目前,我使用ParseHub来获取一些关于一个列表县的基本数据,下面可以看到用于此的json文件。我还想刮取每个国家的当前时间,这意味着如果可以找到这些信息,可以访问其他网站,但该网站上的县列表的顺序完全不同,这意味着每个国家最终的时间都不正确 是否有一个was我可以刮取每个国家的时间,并将其附加到正确的国家json对象中,或者我的想法是错误的 country.jsonPython 如何从另一个网站向正确的json对象添加新元素?,python,json,web-scraping,parsehub,Python,Json,Web Scraping,Parsehub,目前,我使用ParseHub来获取一些关于一个列表县的基本数据,下面可以看到用于此的json文件。我还想刮取每个国家的当前时间,这意味着如果可以找到这些信息,可以访问其他网站,但该网站上的县列表的顺序完全不同,这意味着每个国家最终的时间都不正确 是否有一个was我可以刮取每个国家的时间,并将其附加到正确的国家json对象中,或者我的想法是错误的 country.json { "country": [ { "name": "China", "pop": "1,438,801,91
{
"country": [
{
"name": "China",
"pop": "1,438,801,917",
"area": "9,706,961 km²",
"growth": "0.39%",
"worldPer": "18.47%",
"rank": "1"
},
{
"name": "India",
"pop": "1,378,687,736",
"area": "3,287,590 km²",
"growth": "0.99%",
"worldPer": "17.70%",
"rank": "2"
},
{
"name": "United States",
"pop": "330,812,025",
"area": "9,372,610 km²",
"growth": "0.59%",
"worldPer": "4.25%",
"rank": "3"
}
{
{
"country": [
{
"name": "China",
"pop": "1,438,801,917",
"area": "9,706,961 km²",
"growth": "0.39%",
"worldPer": "18.47%",
"rank": "1",
"time": "18:36"
},
{
"name": "India",
"pop": "1,378,687,736",
"area": "3,287,590 km²",
"growth": "0.99%",
"worldPer": "17.70%",
"rank": "2"
},
{
"name": "United States",
"pop": "330,812,025",
"area": "9,372,610 km²",
"growth": "0.59%",
"worldPer": "4.25%",
"rank": "3"
}
]
}
time.json
{
"country": [
{
"name": "china",
"time": "18:36"
}
{
如何将这些数据添加到country.json中的China对象
{
"country": [
{
"name": "China",
"pop": "1,438,801,917",
"area": "9,706,961 km²",
"growth": "0.39%",
"worldPer": "18.47%",
"rank": "1"
},
{
"name": "India",
"pop": "1,378,687,736",
"area": "3,287,590 km²",
"growth": "0.99%",
"worldPer": "17.70%",
"rank": "2"
},
{
"name": "United States",
"pop": "330,812,025",
"area": "9,372,610 km²",
"growth": "0.59%",
"worldPer": "4.25%",
"rank": "3"
}
{
import json
with open('country.json') as f1, open('time.json') as f2:
country = json.loads(f1.read())
time = json.loads(f2.read())
country = {x['name'].lower(): x for x in country['country']}
for y in time['country']:
if y['name'].lower() in country:
country[y['name'].lower()]['time'] = y['time']
country = {'country': list(country.values())}
with open('country.json', 'w') as fw:
json.dump(country, fw)
{
"country": [
{
"name": "China",
"pop": "1,438,801,917",
"area": "9,706,961 km²",
"growth": "0.39%",
"worldPer": "18.47%",
"rank": "1",
"time": "18:36"
},
{
"name": "India",
"pop": "1,378,687,736",
"area": "3,287,590 km²",
"growth": "0.99%",
"worldPer": "17.70%",
"rank": "2"
},
{
"name": "United States",
"pop": "330,812,025",
"area": "9,372,610 km²",
"growth": "0.59%",
"worldPer": "4.25%",
"rank": "3"
}
]
}
输出:
country.json
{
"country": [
{
"name": "China",
"pop": "1,438,801,917",
"area": "9,706,961 km²",
"growth": "0.39%",
"worldPer": "18.47%",
"rank": "1"
},
{
"name": "India",
"pop": "1,378,687,736",
"area": "3,287,590 km²",
"growth": "0.99%",
"worldPer": "17.70%",
"rank": "2"
},
{
"name": "United States",
"pop": "330,812,025",
"area": "9,372,610 km²",
"growth": "0.59%",
"worldPer": "4.25%",
"rank": "3"
}
{
{
"country": [
{
"name": "China",
"pop": "1,438,801,917",
"area": "9,706,961 km²",
"growth": "0.39%",
"worldPer": "18.47%",
"rank": "1",
"time": "18:36"
},
{
"name": "India",
"pop": "1,378,687,736",
"area": "3,287,590 km²",
"growth": "0.99%",
"worldPer": "17.70%",
"rank": "2"
},
{
"name": "United States",
"pop": "330,812,025",
"area": "9,372,610 km²",
"growth": "0.59%",
"worldPer": "4.25%",
"rank": "3"
}
]
}