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编写屏幕截图程序方法
Feb 18 Python
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
python爬取微信公众号文章的方法
Feb 26 Python
python flask安装和命令详解
Apr 02 Python
python实现列表中最大最小值输出的示例
Jul 09 Python
Python代码一键转Jar包及Java调用Python新姿势
Mar 10 Python
Python虚拟环境venv用法详解
May 25 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
python实现mean-shift聚类算法
Jun 10 Python
Python pyecharts案例超市4年数据可视化分析
Aug 14 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
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
2006/11/18 PHP
使用PHP数组实现无限分类,不使用数据库,不使用递归.
2006/12/09 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
微信公众平台开发关注及取消关注事件的方法
2014/12/23 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
JS.findElementById()使用介绍
2013/09/21 Javascript
javascript实现类似超链接的效果
2014/12/26 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
Javascript实现图片轮播效果(二)图片序列节点的控制实现
2016/02/17 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
JavaScript去掉数组重复项的方法分析【测试可用】
2018/07/19 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
vue-cli3使用mock数据的方法分析
2020/03/16 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
python3.5仿微软计算器程序
2020/03/30 Python
Django之模型层多表操作的实现
2019/01/08 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Python中and和or如何使用
2020/05/28 Python
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
易程科技软件测试笔试
2013/03/24 面试题
如何开发一个JQuery插件
2016/07/28 面试题
三年级数学教学反思
2014/01/31 职场文书
教师群众路线心得体会
2014/11/04 职场文书
三行辞职书范文
2015/02/26 职场文书
高考1977观后感
2015/06/04 职场文书
汽车车尾标语大全
2015/08/11 职场文书
银行中层干部培训心得体会
2016/01/11 职场文书
公司转让协议书
2016/03/19 职场文书
pyqt5打包成exe可执行文件的方法
2021/05/14 Python