将python列表插入mongodb?

2024-06-25 23:02:57 发布

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

我想在mongodb数据中插入python列表。如何插入? 下面是我的代码。错误是

list has no method to_dict

代码如下:

from pymongo import MongoClient
client = MongoClient()
db = client.espace
espace = db.espacedata
records = a.to_dict(orient = 'records')
data = ['AGRICULTURE\n A01\nAGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING', ' A01\nAGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING', "FOODSTUFFS; TOBACCO\n A21\']
records = data.to_dict(orient = 'records')
results = espace.insert_many(records)

Tags: to代码clientdbdatadictrecordsmongoclient
2条回答

首先,data中的语法有问题。由于转义引号\',它无法解析。您需要添加一个结束单报价如下所示。你知道吗

data = ['AGRICULTURE\n A01\nAGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING;
FISHING', ' A01\nAGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING',  
'FOODSTUFFS; TOBACCO\n A21\'']

如果您试图使用pandas,请使用以下或如上所示:

data = ['AGRICULTURE\n A01\nAGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING', ' A01\nAGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING', 'FOODSTUFFS; TOBACCO\n A21\'']

df = pd.DataFrame(data)
records = df.to_dict()
print(records)

如@rusu所建议,使用direct作为:

espace.insert_many([{'records':data}]) 

你可以使用一个dict作为记录的值,你可以做:

espace.insert_many([{'records':data}]) 
# or
escape.insert_one({'records': data})

相关问题 更多 >