Python调用MySQL的一些用法小结
目标:1个excel表内容导入到数据库中,例如:原始excel文件为 aaa.xls
首先:将aaa.xls 转换成aaa.txt ,注意当文件中含有中文字符时,可以通过notepad++打开,在“格式”下选择转存为utf8格式或者选择utf8格式再另存
即:
txtFile = aaa.txt
#引入MySQLdb库,这个库的安装再另外写
import MySQLdb
#定义数据库的接入
def getDbAccessConf( confFileName ):
dbIp = "unknown"
dbUser = "unknown"
dbPasswd = "unknown"
dbName = "unknown"
patternDbIp = r"(.*)dbIp(.*)=(.*)"
patternDbUser = r"(.*)dbUser(.*)=(.*)"
patternDbPasswd = r"(.*)dbPasswd(.*)=(.*)"
patternDbName = r"(.*)dbName(.*)=(.*)"
fileData = open(confFileName)
lines = fileData.readlines()
for line in lines:
matchObj = re.match( patternDbIp, line )
if matchObj:
dbIp = matchObj.group(3).strip()
matchObj = re.match( patternDbUser, line )
if matchObj:
dbUser = matchObj.group(3).strip()
matchObj = re.match( patternDbPasswd, line )
if matchObj:
dbPasswd = matchObj.group(3).strip()
matchObj = re.match( patternDbName, line )
if matchObj:
dbName = matchObj.group(3).strip()
return dbIp, dbUser, dbPasswd, dbName
#定义数据内容的插入
def insertIntoDb( db ):
tableHeadMobile = 'mobileHead'
idxRow = 0;
cursor = db.cursor()
f= open('ccc.txt','r')
for row in f:
contents = row.split('\t')
operator = contents[0]
#print '\n ope: ' + operator,
for idx in range( 1, len(contents) ):
headMobile = contents[idx]
if "" == headMobile:
print 'headMobile is empty. head=' + headMobile
continue
sqlComm = 'select count(id) from ' + tableHeadMobile + ' where headMobile = "' + headMobile + '"'
cursor.execute( sqlComm )
sqlData = cursor.fetchall()
rowNum = sqlData[0][0]
if 0 == rowNum:
sqlComm = 'insert into ' + tableHeadMobile + ' values( "' + str(idxRow) + '", "' + operator + '", "' + headMobile + '" )'
print sqlComm
cursor.execute( sqlComm )
idxRow = idxRow + 1
db.commit()
cursor.close()
Python调用MySQL的一些用法小结的更多相关文章
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python 调用mysql存储过程返回结果集
存储过程: delimiter | ),)) begin select * from tb_test where mid = imid and user = iuser; end; | delimit ...
- Python调用MYSQL,将文件名和路径批量入库用法小结
最近项目需要将大量的压缩文件导入到数据库中,所以开始总结用Python批量处理的办法,本次是首先将这些压缩文件的文件名提取出来,然后导入到数据库中. 由于涉及到路径的读取处理,所以方法有os模块和co ...
- Python的装饰器实例用法小结
这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python常用装饰器的概念.功能.使用方法及相关注意事项 一.装饰器是什么 python的装饰器本质上是一个Python函数,它可以让 ...
- 一个小玩具:Python调用Mysql
1. ubuntu安装MySQL how to install:$ sudo apt-get install mysql-server$ sudo apt-get install mysql-clie ...
- MySQL中Alter用法小结
alter 方法是我们在处理MySQL数据库中一个常见的方法,能帮助我们更好的处理数据库中的表 1.增加 数据库中表的字段:alter table table_name add [column] co ...
- python调用MySQL数据库
在Python中访问mysql数据库中的数据需要三步骤: 1,建立连接 2,操作数据库 3,连接关闭
- Python 执行 mysql 存储过程
mysql 创建简单的临时表 tmp create database test; use test; DROP TABLE IF EXISTS `tmp`; CREATE TABLE `tmp` ( ...
- 使用python读取mysql数据库并进行数据的操作
(一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...
随机推荐
- 小白袍 -- Chapter 1.4.1.1 URL编码的理论解读
1.4.1.1 URL编码的理论解读 我们在做JavaWeb时避不过GET请求,GET请求和POST请求最大一点不同就在于参数,GET请求的参数会URL中,而POST请求的参数则会在HTTP Hea ...
- 什么是OR映射?
实体对象采用的是面向对象技术,它表达实体的关系是用关联.继承.而RDBMS 是遵循关系的范式理论构建的二维表,主要采用主键和外键的关联方式.因此,对象模型与数据库模型是不一致的,需要在两者之间进行变换 ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 016-017
今天开了两个大会,时间都给占掉了,就刷了两道题~ 明天加油!!! ------------------------------------------------L1-016------------- ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 012-015
女神节快乐鸭,大学的女生节真的是忙碌呢,到处送礼物,真的是当时男生节的出来混的,总该是要还的hhhhh ------------------------------------------------ ...
- LeetCode 相交链表
基本思路 先计算出两个链表的长度 O(n) 将长的一个链表的指示指针移动到和短链表相同长度 O(n) 两个链表指示指针同时向前移动,直到二者相同或者NULL 代码实现 /** * Definition ...
- go 下面定义嵌套结构
package main import ( "fmt" ) const ( URL = "http://www.163.com" UID = "adm ...
- js 关于字符串转数字及数字保留位数的控制
1.parseInt()和parseFloat()两个转换函数,将字符串转换成相应的数字. 1.parseInt() parseInt进行转换时,将字符串转成相应的整数.浮点数以后的数字都不要了. p ...
- js 判断两个时间相差的天数
judgeDay(sDate1, sDate2) { const sDate1 = `${new Date(sDate1).getFullYear()}-${new Date(sDate1).getM ...
- ubuntu系統如何啟動root用戶登陸?
之前分享過關於這個問題的文章,現在自己在分享一個關於這個問題的文章給大家.為了學習Linux,一氣之下把win10的換成了ubuntu的系統.安裝就不給大家介紹了(網上很多教程). 在我們安裝好之後, ...
- 【坑】记录一个docker 1.13.1 build 07f3374 版本的坑
在自家的开发环境中,一般都是直接yum安装最新的docker来做镜像和容器,没有仔细深究,一直相安无事.但这几天却发现一个惊悚的现象,新申请的两台虚机,一台安装好后正常,另一台却出现异常: docke ...