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扫描IP段查看指定端口是否开放的方法
Jun 09 Python
Python设计模式之命令模式简单示例
Jan 10 Python
Python3实现的Mysql数据库操作封装类
Jun 06 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
Django打印出在数据库中执行的语句问题
Jul 25 Python
对Django 中request.get和request.post的区别详解
Aug 12 Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
Python 类的魔法属性用法实例分析
Nov 21 Python
pygame实现飞机大战
Mar 11 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 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
PHP中for循环语句的几种变型
2006/11/26 PHP
php 中文和编码判断代码
2010/05/16 PHP
PHP中PDO的错误处理
2011/09/04 PHP
PHP curl 抓取AJAX异步内容示例
2014/09/09 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
PHP获取真实客户端的真实IP
2017/03/07 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
10个实用的脚本代码工具
2010/05/04 Javascript
使用JavaScript获取电池状态的方法
2014/05/03 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
JavaScript基础之AJAX简单的小demo
2017/01/29 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
2017/12/25 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
vue自定义tap指令及tap事件的实现
2018/09/18 Javascript
sortable+element 实现表格行拖拽的方法示例
2019/06/07 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
Python Mysql数据库操作 Perl操作Mysql数据库
2009/01/12 Python
Python读取excel中的图片完美解决方法
2018/07/27 Python
Python重新加载模块的实现方法
2018/10/16 Python
Python 通过requests实现腾讯新闻抓取爬虫的方法
2019/02/22 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
HTML5视频支持检测(检查浏览器是否支持视频播放)
2013/06/08 HTML / CSS
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
软件测试工程师笔试题带答案
2015/03/27 面试题
初中女生自我鉴定
2013/12/19 职场文书
科技馆观后感
2015/06/08 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python
python数字类型和占位符详情
2022/03/13 Python