python操作数据库之批量导入


Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中[3] 有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

批量从mongodb导入数据到redis
  • 结构图如下
python->mongodb:python取出mongodb数据
mongodb->redis:mongodb数据经过处理后保存到redis
  • python代码如下:
# -*- coding: utf-8 -*-
import redis
import pymongo
import logging
class savequestionmafengwo(object):
def __init__(self):
logging.basicConfig(filename = "./save-mafengwo-question.log", level = logging.DEBUG)
self.redis_pool_conn=self.redis_pool()
self.redis_db=self.connection_redis_db();
self.mongo_db=self.connection_mongo_db();
self.url='http://www.mafengwo.cn/wenda/detail-';
self.hz='.html';
def redis_pool(self):
pool_redis=redis.ConnectionPool(host='IP',port=PORT,db=DB,password=PASS);
return pool_redis;
def connection_redis_db(self):
pool=self.redis_pool_conn;
redis_db = redis.Redis(connection_pool=pool)
return redis_db;
def get_data(self,start):
mongo=self.mongo_db
qas=mongo.find({"source":"mafengwo","type":"question"},{"qid":1}).skip(start).limit(40000);
return qas;
def put_data(self,start):
qas=self.get_data(start);
i=start
for qa in qas:
try:
urlF = self.url + str(qa['qid']) + self.hz;
self.redis_set_value(urlF);
logging.debug(str(i) + "------" + urlF)
i = i + 1
except:
logging.debug("error:" + str(qa['_id']))
raise
def connection_mongo_db(self):
client = pymongo.MongoClient("IP", PORT)
mydb = client.hello # new a database
mydb.authenticate('USER', 'PASS') # check auth
muser = mydb.QA# new a table
return muser;
def redis_set_value(self,urlF):
db =self.redis_db
db.set(urlF,"1"); if __name__ == '__main__':
savequestionmafengwo=savequestionmafengwo();
start={0,40000}
for st in start:
savequestionmafengwo.put_data(start)

python操作数据库之批量导入的更多相关文章

  1. Python操作数据库及hashlib模块

    一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA51 ...

  2. python操作数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  3. 零基础学Python--------第11章 使用Python操作数据库

    第11章 使用Python操作数据库 11.1 数据库编程接口 在项目开发中,数据库应用必不可少.虽然数据库的种类有很多,如SQLite.MySQL.Oracle等,但是它们的功能基本都是一样的,为了 ...

  4. 潭州课堂25班:Ph201805201 python 操作数据库 第五课 (课堂笔记)

    一 用 python 操作 mysql 1,导入 pymysql 2,检查配置文件, 3,端口转发 如果 python 在本机,数据库在远程,或虚拟机则需要 4用 python 连接 # -*- co ...

  5. Python操作数据库之 MySQL

    Python操作数据库之MySQL 一.安装Python-MySQLdb模块 Python-MySQLdb是一个操作数据库的模块,Python 通过它对 mysql 数据实现各种操作. 如果要源码安装 ...

  6. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

  7. python 操作数据库的常用SQL命令

    这俩天在学习PYTHON操作数据库的知识.其实基本SQL命令是与以前学习的MYSQL命令一致,只是增加了一些PYTHON语句. 1,安装pymysql,并导入. import pymysql 2,因为 ...

  8. python操作数据库PostgreSQL

    1.简述 python可以操作多种数据库,诸如SQLite.MySql.PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括 ...

  9. Python接口测试实战3(上)- Python操作数据库

    如有任何学习问题,可以添加作者微信:lockingfree 课程目录 Python接口测试实战1(上)- 接口测试理论 Python接口测试实战1(下)- 接口测试工具的使用 Python接口测试实战 ...

随机推荐

  1. 一个Python小白5个小时爬虫经历 【续】

    前言 昨天实现了python简单的数据采集之后本来还挺高兴的,结果发现在.NET读取txt文件后反序列化总是报错.具体错误原因好像是从txt读取数据之后会自动加一个隐藏的字符串,没错,肉眼看不见,就导 ...

  2. win8下 msvcr100d.dll文件缺失解决方法

    一.如果在运行某软件或编译程序时提示缺少.找不到msvcp100d.dll等类似提示,您可将从载来的msvcp100d.dll拷贝到指定目录即可(一般是system系统目录或放到软件同级目录里面),或 ...

  3. java 构造器学习笔记

    构造器(构造器不是方法也不是类的成员) 以前创建对象的方式, public class Constructor{ public static void main(String[] args){ per ...

  4. 下载安装Cygwin

    下载程序 http://www.cygwin.com/ 安装程序 下载完成后,运行setup.exe程序,出现安装画面. 直接点“下一步”,出现安装模式的对话框,如下图所示: 这里可以看到有三种安装模 ...

  5. intellij idea 常用快捷键mac版

    login.jsp文件中的html标签都是大写格式的,看着很不舒服,就改了一下,全部用的快捷键修改成小写的,也因此整理了一下常用的快捷键. shift + Command + u 大小写转换. alt ...

  6. iOS 注册密码加密 添加了时间戳 遇到的问题...

    今天项目 遇到一个事故,我本想用 一个形容这个事故的adj  算了 既然 叫事故 已经能表达我们处于的一种状态, 是这样的: 有小部分用户反应 app无法注册 总提示密码错误的情况 实际 该步骤 已经 ...

  7. SQL中with(nolock)作用说明

    要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑.其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH (NOLOCK)可以改善在线大量查询 ...

  8. WeMall微信商城源码插件代金券部分代码

    WeMall微信商城源码插件Coupon代金券代码是用于商业推广的比较有效的方式,分享了部分比较重要的代码,供技术员学习参考 AdminController.class.php <?php na ...

  9. 今天给大家分享一下PS快捷键大全

    一.工具箱(多种工具共用一个快捷键的可同时按[Shift]加此快捷键选取) 矩形.椭圆选框工具 [M] 移动工具 [V] 套索.多边形套索.磁性套索 [L] 魔棒工具 [W] 裁剪工具 [C] 切片工 ...

  10. Windows定时计划执行Python

    先看下定时执行的py文件 #coding:gbk from selenium import webdriver import time,os driver = webdriver.PhantomJS( ...