目标: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的一些用法小结的更多相关文章

  1. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  2. python 调用mysql存储过程返回结果集

    存储过程: delimiter | ),)) begin select * from tb_test where mid = imid and user = iuser; end; | delimit ...

  3. Python调用MYSQL,将文件名和路径批量入库用法小结

    最近项目需要将大量的压缩文件导入到数据库中,所以开始总结用Python批量处理的办法,本次是首先将这些压缩文件的文件名提取出来,然后导入到数据库中. 由于涉及到路径的读取处理,所以方法有os模块和co ...

  4. Python的装饰器实例用法小结

    这篇文章主要介绍了Python装饰器用法,结合实例形式总结分析了Python常用装饰器的概念.功能.使用方法及相关注意事项 一.装饰器是什么 python的装饰器本质上是一个Python函数,它可以让 ...

  5. 一个小玩具:Python调用Mysql

    1. ubuntu安装MySQL how to install:$ sudo apt-get install mysql-server$ sudo apt-get install mysql-clie ...

  6. MySQL中Alter用法小结

    alter 方法是我们在处理MySQL数据库中一个常见的方法,能帮助我们更好的处理数据库中的表 1.增加 数据库中表的字段:alter table table_name add [column] co ...

  7. python调用MySQL数据库

    在Python中访问mysql数据库中的数据需要三步骤: 1,建立连接 2,操作数据库 3,连接关闭

  8. Python 执行 mysql 存储过程

    mysql 创建简单的临时表 tmp create database test; use test; DROP TABLE IF EXISTS `tmp`; CREATE TABLE `tmp` ( ...

  9. 使用python读取mysql数据库并进行数据的操作

    (一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...

随机推荐

  1. 23.POI导出

    POI导出 XSSFWorkbook 对应Excel2007版本及以上 HSSFWorkbook 对应Excel2003版本 还要注意一点,不要用Swagger-ui测试导出的表格,这样的表格文件都是 ...

  2. Spring boot中使用servlet filter

    Spring boot中使用servlet filter liuyuhang原创,未经允许请勿转载! 在web项目中经常需要一些场景,如参数过滤防止sql注入,防止页面攻击,空参数矫正等, 也可以做成 ...

  3. JDK7 新特性

    JDK7新特性的目录导航: 二进制字面值 switch 语句支持 String try-with-resources catch 多个类型异常 字面值中使用下划线 类型推断 改进泛型类型可变参数 其它 ...

  4. Angular : 基础语句说明, 响应式表单指令, 组件生命周期钩子

  5. nginx配置SSL证书/强制跳转与非强制跳转

    支持强制跳转HTTPS server { listen 80; server_name www.test.com; rewrite ^(.*)$ https://${server_name}$1 pe ...

  6. clear()、sync()、ignore()

    #include <iostream> using namespace std; int main() { int a; cin>>a; cout<<cin.rds ...

  7. ubuntu配置机器学习环境(三) opencv 安装

    这里使用脚本安装 一些教程里使用cmake 安装,很容易出错的 使用github上的安装脚本,自动化安装 参考链接 Ubuntu $ cd Ubuntu/2.4 $ chmod +x * # 如果要安 ...

  8. CSS3实现3D球体旋转动画

    html <div class="ball-box"> <div class="ball"> <div class="l ...

  9. 利尔达NB-IOT模块对接移动onenet平台步骤

    1. 首先登陆浙江移动onenet网站,http://openiot.zj.chinamobile.com/,进入右上角的开发者中心,然后才能看到创建产品 2. 填写产品的信息,其他信息按照个人实际填 ...

  10. ip4addr_ntoa和不可重入函数

    在网络中,有一个转换IP地址到ASIIC字符串的函数,该函数的返回值所指向的ASIIC字符串驻留在静态内存中,所以该函数不可重入. 通俗的讲,在多任务系统中,一个任务执行在调用运行这个函数的时候,其他 ...