看起来像您需要的。
import ast
data = ["{'id': '7','time': 1572741353685,'number': '003477'}","{'id': '7','number': '003477'}"]
df = pd.DataFrame(data,columns=['A'])
df_result = pd.DataFrame(df["A"].apply(ast.literal_eval).tolist())
print(df_result)
输出:
id time number
0 7 1572741353685 003477
1 7 1572741353685 003477
2 7 1572741353685 003477
3 7 1572741353685 003477
,
在您的情况下,下一个类似的方法应该起作用:
json_rows = [
...
]
df = pd.DataFrame.from_records([
json.loads(row) for row in json_rows
])
当然,它在JSON解析阶段仍然存在循环...
UPD。而且它不是JSON-它是python对象的另一种表示形式,因此您应该像其他答案一样用ast代替json.loads
。
,
使用列表推导,将值转换为ast.literal_eval
到字典:
import ast
df = pd.DataFrame([ast.literal_eval(x) for x in df["col"]])
print(df)
id time number
0 7 1572741353685 003477
1 7 1572741353685 003477
2 7 1572741353685 003477
3 7 1572741353685 003477
本文链接:https://www.f2er.com/3152703.html