Mongodb 和python相连,从json文本中导入数据

Mongodb 和python相连,从json文本中导入数据

因为现在mogondb 升级了,pymongo的version 变成了3.3
现在是将用scrapy 爬到的zhihu用户数据存到mongodb中,所以代码如下:

#coding=utf-8

import pymongo 
from bson.objectid import ObjectId
import logging
from datetime import datetime
import json
from time import mktime
import time
import sys

propertiesList =["follow_topics","followers","followees","logs","collections"\
            ,"name" 
            ,"sign" \
            ,"location" \
            ,"business" \
            ,"employment" \
            ,"position" \
            ,"education" \
            ,"education_extra" \
            ,"description" \
            ,"agree" \
            ,"thanks" \
            ,"asks" \
            ,"answers" \
            ,"posts" ] 
# print propertiesList

hostname = "localhost"
port_num = int("27017")
db_name = "scrapy"

try:
    client = pymongo.MongoClient(hostname, port_num)
    #选择数据库
    db = client[db_name]
    #选择数据的collection
    collection = db.zhihu
except:
    print "connection wrong"
count = 0
mongolist = []
try:
    f = file("data_utf8.json")
    for line in f:
        # print line
        s = json.loads(line)
        #这里仅仅是为了改变一下文档的格式
        for item in propertiesList:
            if s.has_key(item):
                if len(s[item])!=0:
                    s[item] = s[item][0]
                else:
                    s[item] = None    
            # break

        if s.has_key("asks"):
            count +=1
            mongolist.append(s)
except:
    print "read to json worng",count
print mongolist
collection.insert_many(mongolist)
print count
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值