网络编程
位置:首页>> 网络编程>> Python编程>> python读取json文件并将数据插入到mongodb的方法

python读取json文件并将数据插入到mongodb的方法

作者:java潮人  发布时间:2021-03-22 20:30:22 

标签:python,json,mongodb

本文实例讲述了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程序设计有所帮助。

0
投稿

猜你喜欢

  • 前几天在“CSS那些事儿”的群中,一位读者朋友(小土豆)问我书中提到首字下沉的时候为什么要增加一个清除浮动。当时我自己一时迷惑了,为什么呢,
  • 在CSS森林群里讨论一个margin的问题中无意间发现overflow也可以用来清除浮动,嘿嘿,这个方法不单使用简单,而且FF、OP、IE7
  • BootStrap模态框简单概述Bootstrap Modals(模态框)是使用定制的 Jquery 插件创建的。它可以用来创建模态窗口丰富
  • 很多朋友问过我absolute与relative怎么区分,怎么用?我们都知道absolute是绝对定位,relative是相对定位,但是这个
  • 一、安装MySQL        目前web服务器已经很少有跑静态页面
  • 你有没有觉得你的CSS样式表文件过于臃肿?其实如果你注意并培养一些比较好的CSS书写习惯,我想你的CSS样式表过于”肥胖”的问题会得到很好的
  • 题目:用 JavaScript 代码实现空位补零,比如 pad(12, 3) => 012实现一:/* 平淡无奇法 */functio
  • px比em更加容易使用,em指字体高,任意浏览器的默认字体高都是16px。所以未经调整的浏览器都符合: 1em=16px,所以10px=0.
  • 在本身比较复杂的页面里,再突出信息,往往是把几种方法叠加起来使用,比如加粗加大、加粗加色等,区别在于使用的类别和程度。导致的结果是呈现越来越
  • 由于ACCESS本身没有提供在窗体中添加一个命令按钮实现打开通用对话框的控件,所以大家必须通过编写相关的宏才能实现此功能,但是编写出的宏限制
  • 无论何时,IE总是让页面制作者感到那么的黯然销魂,尤其是IE6,IE7次之,虽然IE8已经做了很大的改进,但由于XP用户的数量实在太大,而且
  • 测试sql: 代码如下:SET STATISTICS IO ON SET STATISTICS TIME ON SELECT COUNT(1
  • 本文实例为大家分享了JS实现用户管理系统的具体代码,供大家参考,具体内容如下效果图:html代码:  <h1>
  • 一直以来,Web 字体背着单调的恶名,因为想在网页上显示一种字体,该字体文件本身必须存在于用户的电脑中,由于这个限制,加上 Web 用户可能
  • 前言np.argmax是用于取得数组中每一行或者每一列的的最大值。常用于机器学习中获取分类结果、计算精确度等。函数:numpy.argmax
  • 配置指令如下:[opcache]zend_extension=opcache.soopcache.enable_cli=1;共享内存大小,
  • 1、调用字符映射表输入特殊符号在键盘上按win+R,在打开的对话框中输入“charmap”,会出现字符映射表:2、利用字符编码输入特殊符号#
  • 1、什么是GIL全局解释器锁GIL:Global Interpreter Lock,意思就是全局解释器锁,这个GIL并不是Python的特性
  • 前段时间我通过观察韩国网站和其他作品发现了普遍存在黄金分割这样一个规律,不过只跟色相有关,明度、纯度还没做研究,今天看到论坛一篇“网页配色之
  • 由于特定需求,最近实验室需要远程连接外地的sql server 2000服务器,最开始怎么连也连不上,出现了很多问题,但是在今天上午,借用实
手机版 网络编程 asp之家 www.aspxhome.com