• 技术文章 >后端开发 >Python教程

    python读取json文件并将数据插入到mongodb的方法

    2016-06-10 15:16:59原创1220
    本文实例讲述了python读取json文件并将数据插入到mongodb的方法。分享给大家供大家参考。具体实现方法如下:

    #coding=utf-8
    import sunburnt
    import urllib
    from pymongo import Connection
    from bson.objectid import ObjectId
    import logging
    from datetime import datetime
    import json
    from time import mktime
    from feedparser import _parse_date as parse_date
    import time
    import sys
    import getopt
    import ConfigParser
    args = sys.argv[1:]
    optlist, args = getopt.getopt(args, 'c:')
    cmd_opt = {}
    for opt in optlist:
      cmd_opt[opt[0]] = opt[1]
    conf_file = cmd_opt['-c']
    config = ConfigParser.ConfigParser()
    config.read(conf_file)
    hostname = config.get("mongodb", "hostname")
    port_num = int(config.get("mongodb", "port_num"))
    db_name = config.get("mongodb", "db")
    connection = Connection(hostname, port_num)
    db = connection[db_name]
    courseTable = db.course
    lecTable = db.lecture
    try:
      f = file("json1-14/14.json")
      s = json.load(f)
      courseData = s["results"]["course"]
      lecDataArr = s["results"]["lecture"]
      f.close
      print "get file content successfully!"
      #insert course
      courseId = courseTable.save(courseData)
      courseId = str(courseId)
      print "courseId: "+courseId
      print "lec length: "+str(len(lecDataArr))
      #insert lecture
      lecIdArr = []
      for lecData in lecDataArr:
        lecData["course_id"] = courseId
        lecId = lecTable.save(lecData)
        lecIdArr.append(str(lecId))
      # update course
      courseTable.update({'_id':ObjectId(courseId)},
                {"$set":{"lectures.lecture_id_list":lecIdArr}},
                upsert=True, multi=True);
      print 'insert successfully!'
    except Exception, e:
      print e

    希望本文所述对大家的Python程序设计有所帮助。

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:Python去除列表中重复元素的方法 下一篇:python调用机器喇叭发出蜂鸣声(Beep)的方法
    PHP编程就业班

    相关文章推荐

    • 分享10个有趣且实用的Python模块,看看他们的功能吧!• Python的Flask开发框架简单上手笔记• python读写ini配置文件方法实例分析• 解析Python中的异常处理• python fabric实现远程操作和部署示例

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网