我有一组包含 json 文件的 url 和一个空的 pandas 数据框,其中的列表示 jsnon 文件的属性。并非所有 json 文件都具有 pandas 数据框中的所有属性。我需要做的是从 json 文件创建字典,然后将每个字典作为新行附加到 pandas 数据帧,如果 json 文件没有与数据帧中的列匹配的属性,则必须将填空。
我设法创建字典:
import urllib2
import json
url = "https://cws01.worldstores.co.uk/api/product.php?product_sku=ULST:7BIS01CF"
data = urllib2.urlopen(url).read()
data = json.loads(data)
然后我尝试创建一个 for 循环,如下所示:
row = -1
for i in links:
row = row + 1
data = urllib2.urlopen(str(i)).read()
data = json.loads(data)
for key in data.keys():
for column in df.columns:
if str(column) == str(key):
df.loc[[str(column)],row] = data[str(key)]
else:
df.loc[[str(column)],row] = None
其中 df 是数据框, links 是 url 集
但是,我收到以下错误:
raise KeyError('%s not in index' % objarr[mask])
KeyError: "['2_seater_depth_mm'] not in index"
其中 ['2_seater_depth_mm'] 是 pandas 数据帧的第一列
对我来说,下面的代码有效:
row = -1
for i in links:
row = row + 1
data = urllib2.urlopen(str(i)).read()
data = json.loads(data)
for key in data.keys():
df.loc[row,key] = data[key]
你的参数顺序是混合的.loc()
并且有一对多[]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)