#coding=utf-8
import sunburnt
import urllib
from pymongo import Connection
from bsonobjectid 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 = sysargv[1:]
optlist, args = getoptgetopt(args, 'c:')
cmd_opt = {}
for opt in optlist:
cmd_opt[opt[0]] = opt[1]
conf_file = cmd_opt['-c']
config = ConfigParserConfigParser()
configread(conf_file)
hostname = configget("mongodb", "hostname")
port_num = int(configget("mongodb", "port_num"))
db_name = configget("mongodb", "db")
connection = Connection(hostname, port_num)
db = connection[db_name]
courseTable = dbcourse
lecTable = dblecture
try:
f = file("json1-14/14json")
s = jsonload(f)
courseData = s["results"]["course"]
lecDataArr = s["results"]["lecture"]
fclose
print "get file content successfully!"
#insert course
courseId = courseTablesave(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 = lecTablesave(lecData)
lecIdArrappend(str(lecId))
# update course
courseTableupdate({'_id':ObjectId(courseId)},
{"$set":{"lectureslecture_id_list":lecIdArr}},
upsert=True, multi=True);
print 'insert successfully!'
except Exception, e:
print e
MongoDB是一个基于分布式文件存储 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
一个mongodb中可以建立多个数据库。
MongoDB的默认数据库为"db",该数据库存储在data目录中。
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构
非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点
类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
python学习网,免费的python学习网站,欢迎在线学习!
以上就是关于如何使用python处理带有Mongodb的不规则json数据全部的内容,包括:如何使用python处理带有Mongodb的不规则json数据、python的mongodb是什么、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)