Python 如何从JSON文件的csv/dataframe中提取对象?
我有一个csv,我把它变成了一个熊猫数据框,其中每一行由一个不同的JSON文件组成,每个JSON文件都有与其他文件完全相同的格式和对象,每一个都代表一个独特的事务,我想把这个数据框转换成一个数据框或excel文件,其中每一列代表JSON文件中的一个对象,每一行代表每个事务 JSON还包含数组,在这种情况下,我希望能够检索数组的每个元素。理想情况下,我希望能够从JSON文件中检索所有可能的对象,并将它们转换为列 行的简化版本为:Python 如何从JSON文件的csv/dataframe中提取对象?,python,json,Python,Json,我有一个csv,我把它变成了一个熊猫数据框,其中每一行由一个不同的JSON文件组成,每个JSON文件都有与其他文件完全相同的格式和对象,每一个都代表一个独特的事务,我想把这个数据框转换成一个数据框或excel文件,其中每一列代表JSON文件中的一个对象,每一行代表每个事务 JSON还包含数组,在这种情况下,我希望能够检索数组的每个元素。理想情况下,我希望能够从JSON文件中检索所有可能的对象,并将它们转换为列 行的简化版本为: { "source":{
{
"source":{
"analyze":true,
"billing":{
"gender":null,
"name":"xxxxx",
"phones":[
{
"area_code":"xxxxx",
"country_code":"xxxxx",
"number":"xxxxx",
"phone_type":"xxxxx"
}
]
},
"created_at":"xxxxx",
"customer":{
"address":{
"city":"xxxxx",
"complement":"xxxxx",
"country":"xxxxx",
"neighborhood":"xxxxx",
"number":"xxxxx",
"state":"xxxxx",
"street":"xxxxx",
"zip_code":"xxxxx"
},
"date_of_birth":"xxxxx",
"documents":[
{
"document_type":"xxxxx",
"number":"xxxxx"
}
],
"email":"xxxxx",
"gender":xxxxx,
"name":"xxxxx",
"number_of_previous_orders":xxxxx,
"phones":[
{
"area_code":"xxxxx",
"country_code":"xxxxx",
"number":"xxxxx",
"phone_type":"xxxxx"
}
],
"register_date":xxxxx,
"register_id":"xxxxx"
},
"device":{
"ip":"xxxxx",
"lat":"xxxxx",
"lng":"xxxxx",
"platform":xxxxx,
"session_id":xxxxx
}
}
}
还有我的python代码
import csv
import json
import pandas as pd
df = pd.read_csv(r"<name of csv file in which each row is a JSON file>")
我的预期输出的简化如下
您的意思是这样的输出,例如获取区域代码:
A_col area_code
0 {"source":{"analyze":true,"billing":{"gender":... xxxxx
第一:
性别:xxxxx,先前订单数量:xxxxx,注册日期:xxxxx,平台:xxxxx,会话id:xxxxx,应双引号
获取json文档:
newjson = []
with open('./example.json', 'r') as f:
for line in f:
line = line.strip()
newjson.append(line)
将其格式化为字符串:
jsonString = ''.join(newjson)
转换为python对象:
jsonData = json.loads(jsonString)
使用字典操作提取字段并转换为数据帧:
newDF = pd.DataFrame({"A_col": jsonString, "area_code": jsonData['source']['billing']['phones'][0]['area_code']}, index=[0])
您期望的输出究竟是什么?每行包含一个json文件是什么意思?您的意思是csv中的每一行都是有效的JSON字符串吗?瞧,这只是一个由新行分隔的有效JSON字符串组成的文本文件?嘿,谢谢你的回答!是的,这正是我的意思,数据框的第一列的每一行或excel/csv文件的A列中的每一个单元格都是上述格式的有效JSON字符串。我想知道是否有可能从这些JSON字符串中提取对象并将它们放在另一个数据帧中,我将编辑上面的文章。是的,这是可能的。你试过什么吗?你看过如何在Python中使用json吗?如果是,你遇到了什么困难?如果你给出一个输入的小例子,以及相应的输出是什么,通常会有所帮助。嘿,伙计,我已经编辑了我的帖子!我曾试图在stack overflow上查找此信息,但到目前为止没有任何效果,我将继续查找,如果您能将我推荐到某个地方,我将不胜感激。