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解析xml模块封装代码
Feb 07 Python
17个Python小技巧分享
Jan 23 Python
用Python展示动态规则法用以解决重叠子问题的示例
Apr 02 Python
Python文件去除注释的方法
May 25 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
Python创建普通菜单示例【基于win32ui模块】
May 09 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
python中类的属性和方法介绍
Nov 27 Python
python中嵌套函数的实操步骤
Feb 27 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
python如何输出反斜杠
Jun 18 Python
学会迭代器设计模式,帮你大幅提升python性能
Jan 03 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
JS复制到剪贴板示例代码
2013/10/30 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
Bootstrap CSS组件之面包屑导航(breadcrumb)
2016/12/17 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
2017/04/29 jQuery
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
js如何验证密码强度
2020/03/18 Javascript
Vue+elementUI实现多图片上传与回显功能(含回显后继续上传或删除)
2020/03/23 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
python实现识别相似图片小结
2016/02/22 Python
详解python Todo清单实战
2018/11/01 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python实现的汉诺塔算法示例
2019/10/23 Python
flask 使用 flask_apscheduler 做定时循环任务的实现
2019/12/10 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
python suds访问webservice服务实现
2020/06/26 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
2014年学雷锋活动总结
2014/06/26 职场文书
学习十八大的心得体会
2014/09/01 职场文书
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
高中生军训感言
2015/08/01 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书
用python基于appium模块开发一个自动收取能量的小助手
2021/09/25 Python