Python调用MySQL的一些用法小结

Posted 满月青灰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的一些用法小结的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中的insert ignore into, replace into等的一些用法小结(转)

Python学习笔记之三lambda表达式用法小结

Java学习笔记之十九super在Java继承中的用法小结

Python错误和异常小结

pytho 玩转Mysql

python中set的用法小结