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 命令行也可以自动补全
Nov 30 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
python处理html转义字符的方法详解
Jul 01 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
Python实现统计给定字符串中重复模式最高子串功能示例
May 16 Python
python树的同构学习笔记
Sep 14 Python
python multiprocessing多进程变量共享与加锁的实现
Oct 02 Python
pytorch 模拟关系拟合——回归实例
Jan 14 Python
python sklearn包——混淆矩阵、分类报告等自动生成方式
Feb 28 Python
Django操作session 的方法
Mar 09 Python
如何在向量化NumPy数组上进行移动窗口
May 18 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中的字符串函数
2006/11/24 PHP
PHP5.3.1 不再支持ISAPI
2010/01/08 PHP
php printf输出格式使用说明
2010/12/05 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
thinkphp使用literal防止模板标签被解析的方法
2014/11/22 PHP
php 类自动载入的方法
2015/06/03 PHP
Yii使用DbTarget实现日志功能的示例代码
2020/07/21 PHP
js加解密 脚本解密
2008/02/22 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
jquery easyui validatebox remote的使用详解
2016/11/09 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
在vue中使用G2图表的示例代码
2019/03/19 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
2020/07/10 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
rhythmbox中文名乱码问题解决方法
2008/09/06 Python
Python简单实现子网掩码转换的方法
2016/04/13 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python 在屏幕上逐字显示一行字的实例
2018/12/24 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
viagogo意大利票务平台:演唱会、体育比赛、戏剧门票
2018/01/26 全球购物
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
创业计划书——互联网商机
2014/01/12 职场文书
警校毕业生自我评价
2014/04/06 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
工作表扬信
2015/01/17 职场文书
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL