嗨,我是python的初学者。 我有一个从数据库检索的csv文件。该表有几列,其中一列包含json中的数据。我很难将json数据转换为要保存为pdf的表。 首先,我加载csv。然后,我将包含json中数据的列进行转换。
df = pd.DataFrame(pd.read_csv('database.csv',sep=';'))
print(df.head())
for index, row in df.iterrows():
str = row["json_data"]
val = ast.literal_eval(str)
val1 = json.loads(str)
我的json样本
{
"title0": {
"id": "1",
"ex": "90",
},
"title1": {
"name": "Alex",
"surname": "Boris",
"code": "RBAMRA4",
},
"title2": {
"company": "LA",
"state": "USA",
"example": "9090",
}
}
我正在尝试创建一个这样的表
-------------------------------------------\
title0
--------------------------------------------\
id 1
ex 90
---------------------------------------------\
title 1
---------------------------------------------\
name Alex
surname Boris
code RBAMRA4
----------------------------------------------\
title2
----------------------------------------------\
company LA
state USA
example 9090
答案 0 :(得分:1)
您可以使用Python JSON库来实现此目的。
import json
my_str = open("outfile").read()
val1 = json.loads(my_str)
for key in val1:
print("--------------------\n"+key+"\n--------------------")
for k in val1[key]:
print(k, val1[key][k])
将JSON数据加载到json.jsonloads
函数中,这将反序列化字符串并将其转换为python对象(整个对象成为字典)。
然后您以所需的方式遍历字典。
--------------------
title0
--------------------
id 1
ex 90
--------------------
title1
--------------------
name Alex
surname Boris
code RBAMRA4
--------------------
title2
--------------------
company LA
state USA
example 9090
阅读有关解析字典的知识,然后您将了解for循环。