Python 写入数据到mongoDB

说明

之前是爬取一些数据,将它形成datafram的形式,一块写入mongdb,因为mongdb的存储是json形式的,然后后续需要嵌套的json数据,不知道如何将datafram的一条条拆开,才有了后面的操作,后来用爬取存储在csv里面的数据做测试,一条条的读,然后形成一个简单的嵌套,然后一条一条写入到MongoDB,以作记录。

   或许有其他的更好的方法,欢迎留言告知。
# 获取连接
client = pm.MongoClient('ip',port)  # 端口号是数值型
# 连接数据库,client后面跟数据库名
db = client['table']
#获取集合,后面跟表名
stb = db['test']
with open('filename', "rt", encoding="utf-8-sig") as f:
    reader = csv.reader(f)
    # print(type(reader))
    # for row in reader:
    #     print(row)
    rows=[row for row in reader]
    data={}
    for row in rows:
        data['列1'] = row[0]
        data['列2'] = row[1]
        data['列3'] = row[2]
        data['列4] = row[4]
        data['列5'] =row[5]
        da = {
            "列4": data.get("列4"),
            "列5": data.get("列5")
        }
#这里作了一个嵌套
        data.pop("列4")
        data.pop("列5")
        data.update(
            {"else_attr": da}
        )
        print(data)
        stb.insert(data)
        data.pop("_id")
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值