要将python字典存储到Mongodb吗

2024-04-20 08:57:02 发布

您现在位置:Python中文网/ 问答频道 /正文

下面的代码从image中显示的CSV文件中获取数据并存储在python字典中

from pymongo import MongoClient
import csv
try:
   conn=MongoClient()
   print("Connected Successfully")
except:
   print("Not Connected")

db=conn.nestedDynamicData
collection=db.nested   

with open('tbl_actual_demand_met.csv') as f:
csv_list = [[val.strip() for val in r.split(",")] for r in f.readlines()]
(_, *header), *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row

    if key not in csv_dict:
    csv_dict[key] = []

csv_dict[key].append({key: value for key, value in zip(header, values)})
print(csv_dict)

collection.insert_many([csv_dict])

上述代码给出如下输出:

{'01-01-2020': {'name': 'x', 'time': '00:00:00', 'value': '223.2',
            'name': 'y', 'time': '00:00:00', 'value': '823.2',
            'name': 'z', 'time': '00:00:00', 'value': '23.2'},
            '02-01-2020': {'name': 'a', 'time': '00:05:00', 'value': '273.2',
            'name': 'b', 'time': '00:05:00', 'value': '23.2'}}

但是当我使用insert_many()将其插入mongodb时,子文档被插入到[0][1][2]中,我附加了Screenshot 我不想在[0][1][2]中插入数据,请有人帮助我删除此[0][1][2]


Tags: csvkey代码nameinimportfordb