在Python中将键值对从文件加载到mongodb

在Python中将键值对从文件加载到mongodb,python,mongodb,pymongo,Python,Mongodb,Pymongo,我有一个具有以下格式的键值对的文件 key1:value1, key2:value2 ... 我想使用pymongo将文件加载到mongodb中,但一直失败。我尝试了json.loads,但仍然没有成功 有没有什么方法可以让你拥有这样的东西 for records in file for each key, value in record Insert key, value for that specific record_id 您必须将值以json格式存储在文件中,如 {

我有一个具有以下格式的键值对的文件

key1:value1, key2:value2 ...
我想使用pymongo将文件加载到mongodb中,但一直失败。我尝试了
json.loads
,但仍然没有成功

有没有什么方法可以让你拥有这样的东西

for records in file
   for each key, value in record
      Insert key, value for that specific record_id

您必须将值以json格式存储在文件中,如

{
    "key1": "value1",
    "key2": "value2"
}
在我自己里面,我把它存储在demo.txt文件中

然后我使用
json加载

import json

txt = open('demo.txt', 'rb')
data = json.load(txt)
上面的结果是

>> {u'key1': u'value1', u'key2': u'value2'}

对于json格式,您必须将值作为json格式存储在文件中,如

{
    "key1": "value1",
    "key2": "value2"
}
在我自己里面,我把它存储在demo.txt文件中

然后我使用
json加载

import json

txt = open('demo.txt', 'rb')
data = json.load(txt)
上面的结果是

>> {u'key1': u'value1', u'key2': u'value2'}

对于json格式,当然可以存储为json(参见@Syed answer)

但是,如果不能更改该文件,则可以使用“,”和“:”进行拆分,并从中创建字典:

with open('your_file.txt', 'r') as file:
    line = file.readline()
    to_insert = {key.trim(): value.trim() for key, value in (pair.split(':') for pair in line.split(','))}
    collection.save(to_insert)

当然,您可以存储为JSON(参见@Syed-answer)

但是,如果不能更改该文件,则可以使用“,”和“:”进行拆分,并从中创建字典:

with open('your_file.txt', 'r') as file:
    line = file.readline()
    to_insert = {key.trim(): value.trim() for key, value in (pair.split(':') for pair in line.split(','))}
    collection.save(to_insert)

您可以先按逗号字符(对于每个键值对)拆分,然后按冒号字符拆分:
拆分不是问题,我可以向mongodbSo插入数据,那么您的问题是什么?您可以插入数据吗?我已经对原始问题进行了编辑。您可以先用逗号字符(对于每个键值对)将其拆分,然后用冒号字符将其拆分。
拆分不是问题,我可以将数据插入mongodbSo。那么您的问题是什么?你能插入数据吗?我已对原始问题进行了编辑