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批量修改文本文件内容的方法
Apr 29 Python
pygame实现弹力球及其变速效果
Jul 03 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
详解用python自制微信机器人,定时发送天气预报
Mar 25 Python
python基于SMTP协议发送邮件
May 31 Python
python自动化测试之DDT数据驱动的实现代码
Jul 23 Python
Python变量作用域LEGB用法解析
Feb 04 Python
python json load json 数据后出现乱序的解决方案
Feb 27 Python
python Cartopy的基础使用详解
Nov 01 Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 Python
Python中常见的导入方式总结
May 06 Python
在 Python 中利用 Pool 进行多线程
Apr 24 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读取mysql乱码,用set names XXX解决的原理分享
2011/12/29 PHP
php实现插入排序
2015/03/29 PHP
PHP框架Laravel插件Pagination实现自定义分页
2020/04/22 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
PHP Cli 模式设置进程名称的方法
2019/06/12 PHP
javascript Object与Function使用
2010/01/11 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
javascript面向对象程序设计高级特性经典教程(值得收藏)
2016/05/19 Javascript
Three.js学习之Lamber材质和Phong材质
2016/08/04 Javascript
jQuery禁用快捷键例如禁用F5刷新 禁用右键菜单等的简单实现
2016/08/31 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
Vue实现一个图片懒加载插件
2019/03/11 Javascript
JavaScript遍历数组和对象的元素简单操作示例
2019/07/09 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
python生成随机验证码(中文验证码)示例
2014/04/03 Python
Python简单进程锁代码实例
2015/04/27 Python
关于Python 3中print函数的换行详解
2017/08/08 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
简单了解django orm中介模型
2019/07/30 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
python 实现仿微信聊天时间格式化显示的代码
2020/04/17 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
德国帽子专家:Hutshopping
2019/11/03 全球购物
夜大毕业自我鉴定
2013/10/11 职场文书
企业办公室主任岗位职责
2014/02/19 职场文书
《祁黄羊》教学反思
2014/04/22 职场文书
银行柜员求职自荐书
2014/06/18 职场文书
三八妇女节寄语
2015/02/27 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
作弊检讨书范文
2015/05/06 职场文书
golang 生成对应的数据表struct定义操作
2021/04/28 Golang