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


Posted in Python onMarch 23, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python 抓取动态网页内容方案详解
Dec 25 Python
Python中用altzone()方法处理时区的教程
May 22 Python
Python进程间通信用法实例
Jun 04 Python
python中pandas.DataFrame的简单操作方法(创建、索引、增添与删除)
Mar 12 Python
Python 使用多属性来进行排序
Sep 01 Python
学python安装的软件总结
Oct 12 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
Oct 14 Python
Python enumerate函数遍历数据对象组合过程解析
Dec 11 Python
Python常见反爬虫机制解决方案
Jun 01 Python
python 引用传递和值传递详解(实参,形参)
Jun 05 Python
paramiko使用tail实时获取服务器的日志输出详解
Dec 06 Python
python playwright 自动等待和断言详解
Nov 27 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 #Python
python批量生成本地ip地址的方法
Mar 23 #Python
python通过字典dict判断指定键值是否存在的方法
Mar 21 #Python
python执行外部程序的常用方法小结
Mar 21 #Python
python使用Flask框架获取用户IP地址的方法
Mar 21 #Python
Python使用Flask框架获取当前查询参数的方法
Mar 21 #Python
Python使用Flask框架同时上传多个文件的方法
Mar 21 #Python
You might like
短波的认识
2021/03/01 无线电
php 修改zen-cart下单和付款流程以防止漏单
2010/03/08 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
2016/03/21 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
Yii 2.0自带的验证码使用经验分享
2017/06/19 PHP
Laravel 5.5基于内置的Auth模块实现前后台登陆详解
2017/12/21 PHP
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
Js中使用hasOwnProperty方法检索ajax响应对象的例子
2014/12/08 Javascript
javascript实用方法总结
2015/02/06 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
jQuery数组处理函数整理
2016/08/03 Javascript
Bootstrap Table使用方法解析
2016/10/19 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
解决$store.getters调用不执行的问题
2019/11/08 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
python中尾递归用法实例详解
2015/04/28 Python
解析Python中的二进制位运算符
2015/05/13 Python
Python实现自动发送邮件功能
2021/03/02 Python
详解python的四种内置数据结构
2019/03/19 Python
python交易记录链的实现过程详解
2019/07/03 Python
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
医学专业大学生求职的自我评价
2013/11/27 职场文书
工业设计专业个人求职信范文
2013/12/28 职场文书
优秀的导游求职信范文
2014/04/06 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
2014年卫生院工作总结
2014/12/03 职场文书
资料员岗位职责
2015/02/10 职场文书
2015年检验科工作总结
2015/04/27 职场文书