【发布时间】:2021-04-19 02:57:55
【问题描述】:
a = ['{"type": "book",',
'"title": "sometitle",',
'"author": [{"name": "somename"}],',
'"year": "2000",',
'"identifier": [{"type": "ISBN", "id": "1234567890"}],',
'"publisher": "somepublisher"}', '',
'{"type": "book",', '
'"title": "sometitle2",',
'"author": [{"name": "somename2"}],',
'"year": "2001",',
'"identifier": [{"type": "ISBN", "id": "1234567890"}],',
'"publisher": "somepublisher"}', '']
我有这个复杂的 SList,我希望最终将它放入一个整洁的 pandas 数据框中。
我尝试了很多方法,例如:
i = iter(a)
b = dict(zip(i, i))
不幸的是,这会创建一个看起来更糟糕的字典:
{'{"type": "book",':
...
以前我有一个 SList 字典,现在我有一个字典字典。
我也试过
pd.json_normalize(a)
但这会引发错误消息AttributeError: 'str' object has no attribute 'values'
我也试过
r = json.dumps(a.l)
loaded_r = json.loads(r)
print(loaded_r)
但这会产生一个列表
['{"type": "book",',
...
同样,最后我想要一个像这样的熊猫数据框
type title author year ...
book sometitle somename 2000 ...
book sometitle2 somename2 2001
显然,我还没有真正达到可以将数据提供给 pandas 函数的地步。每次我这样做时,函数都会对我尖叫......
【问题讨论】:
-
您的数据格式不正确
-
是的,我相信这是我的问题的核心部分。这就是我从别人的脚本中收到它的方式。
-
当我复制你的数据时,它返回了错误,可能是因为每行上的单引号。您能否测试您共享的示例数据是否有效,因为它最终会返回错误
-
我已将其更改为 MWE。现在有几行缺失,但有两个完整的观察结果。
标签: python pandas jupyter-notebook ipython