如何在python中从JSON列表导出嵌套对象
我不熟悉MongoDB和JSON格式。我在MongoDB集合中使用了以下JSON格式。我想从每个内部对象中获取值2、值4和值time,并将它们导出到CSV。此外,每个文档的内部对象数量可以从1到4个不等。在python中如何实现这一点如何在python中从JSON列表导出嵌套对象,python,json,mongodb,Python,Json,Mongodb,我不熟悉MongoDB和JSON格式。我在MongoDB集合中使用了以下JSON格式。我想从每个内部对象中获取值2、值4和值time,并将它们导出到CSV。此外,每个文档的内部对象数量可以从1到4个不等。在python中如何实现这一点 [{"object":[ {"value1":number, "value2"":number, "value3"":number, "value4"":"code", "value5"":number,
[{"object":[
{"value1":number,
"value2"":number,
"value3"":number,
"value4"":"code",
"value5"":number,
"value6"":"name"}
,
{"value1":number,
"value2":number,
"value3":number,
"value4":"code",
"value5":number,
"value6":"name"}]
,
"time":1550666169274}]"""
欢迎来到堆栈溢出 您的格式在语法上不正确。你还应该(根据规则)提供一个你迄今为止尝试过的例子。你是新来的,所以你得到了通行证,但请记住这一点,以备将来使用=) 不太清楚你在问什么。这似乎是两个问题——1。如何访问和捕获数据结构中的数据,2。如何将捕获的数据写入csv 回答第一部分(访问和捕获数据): 你有清单和字典。要访问列表中的值,请使用后面的值的索引号(从0开始作为第一个索引号) 例如,如果我有列表
l=['zero'、'one'、'two']
我可以通过l[1]
访问字符串“one”,其中1是列表l
中“one”的索引号
要访问字典中的内容,可以使用它的键。
例如,d={'key':'value'}
使用d['key']
获取其对应的值-值'
因此,假设您的数据实际上如下所示:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
你所拥有的是一份包含字典的清单;“object”键的值是列表,包含字典,“time”键的值是字符串
因此,您可以通过以下方式访问数据:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
或者,您可以像这样迭代对象列表(如果列表中有多个对象,则很有用):
my_json[0]
是一个字典-因此您可以访问它的值(字典列表),如下所示:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
这是一个列表,所以再次使用索引:
my_json[0]['object'][0] # or iterate through the list of objects as above
>>> {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}
给你一本字典,所以使用它的关键:
my_json[0]['object'][0]['value2']
>>> 1
等等
由于“每个文档的内部对象数量可以从1到4个不等”,因此您确实希望遍历“对象”包含的字典列表。您可以这样做:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
假设您有两个文档(在顶层),所有的文档都是这样的:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
现在,您可以像这样迭代此列表和元组:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
…等等
对于第二部分,写入csv,这取决于您希望如何格式化它。我建议您看看python的内置语言
希望对您有所帮助欢迎来到Stack Overflow 您的格式在语法上不正确。你还应该(根据规则)提供一个你迄今为止尝试过的例子。你是新来的,所以你得到了通行证,但请记住这一点,以备将来使用=) 不太清楚你在问什么。这似乎是两个问题——1。如何访问和捕获数据结构中的数据,2。如何将捕获的数据写入csv 回答第一部分(访问和捕获数据): 你有清单和字典。要访问列表中的值,请使用后面的值的索引号(从0开始作为第一个索引号) 例如,如果我有列表
l=['zero'、'one'、'two']
我可以通过l[1]
访问字符串“one”,其中1是列表l
中“one”的索引号
要访问字典中的内容,可以使用它的键。
例如,d={'key':'value'}
使用d['key']
获取其对应的值-值'
因此,假设您的数据实际上如下所示:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
你所拥有的是一份包含字典的清单;“object”键的值是列表,包含字典,“time”键的值是字符串
因此,您可以通过以下方式访问数据:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
或者,您可以像这样迭代对象列表(如果列表中有多个对象,则很有用):
my_json[0]
是一个字典-因此您可以访问它的值(字典列表),如下所示:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
这是一个列表,所以再次使用索引:
my_json[0]['object'][0] # or iterate through the list of objects as above
>>> {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}
给你一本字典,所以使用它的关键:
my_json[0]['object'][0]['value2']
>>> 1
等等
由于“每个文档的内部对象数量可以从1到4个不等”,因此您确实希望遍历“对象”包含的字典列表。您可以这样做:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
假设您有两个文档(在顶层),所有的文档都是这样的:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
现在,您可以像这样迭代此列表和元组:
my_json = [
{
"object":[
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
},
{
"value1":1,
"value2":1,
"value3":1,
"value4":"code",
"value5":1,
"value6":"name"
}
],
"time":1550666169274
}
]
my_json[0]
>>> {'object': [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}], 'time': 1550666169274}
my_json[0]['object']
>>> [{'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}, {'value1': 1, 'value2': 1, 'value3': 1, 'value4': 'code', 'value5': 1, 'value6': 'name'}]
my_json[0]['time']
>>> 1550666169274
all_docs = [] # create an empty list to hold further captured data
for obj in range(len(my_json)): # for each 'thing' in this list
obj_time = my_json[obj]['time'] # grab the time
values_sought = [] # create an empty list to hold further captured data
for dictionary in my_json[obj]['object']: # for each 'thing' in the 'object''s list
val_2 = dictionary['value2'] # grab the necessary values
val_4 = dictionary['value4']
values_sought.append((val_2, val_4)) # append them to the empty list above
print(obj_time, values_sought)
>>> 1550666169274 [(1, 'code'), (1, 'code')]
all_docs.append((obj_time, values_sought)) # append each document's data to the all_docs list
print(all_docs)
>>> [(1550666169274, [(1, 'code'), (1, 'code')])]
[(1550666169274, [(1, 'code'), (1, 'code')])
(1550666169275, [(1, 'code'), (1, 'code')]),]
document_1 = all_docs[0]
document_1_data_all = all_docs[1]
document_1_data_1 = all_docs[1][0] # (or iterate)
document_2 = all_docs[1]
…等等
对于第二部分,写入csv,这取决于您希望如何格式化它。我建议您看看python的内置语言
希望这对您有所帮助您想要的“csv输出”是什么?你看过DFS或BFS算法吗?你想要什么“csv输出”?您看过DFS或BFS算法吗?非常感谢。我是按照你的详细回答做的,非常感谢。我是用你详细的回答做的。