一、xlrd模块:
python 对 excel 文件进行读操作
1、下载xlrd 并安装 http://pypi.python.org/pypi/xlrd
wget https://pypi.python.org/packages/42/85/25caf967c2d496067489e0bb32df069a8361e1fd96a7e9f35408e56b3aab/xlrd-1.0.0.tar.gz#md5=9a91b688cd4945477ac28187a54f9a3btar -zxf 该压缩包cd 该文件sudo python setup.py install
2、打开Excel文件读取数据
data = xlrd.open_workbook('excelFile.xls')
3、使用技巧
获取一个工作表
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
table = data.sheet_by_name(u'Sheet1')#通过名称获取
获取整行和整列的值(数组)
table.row_values(i)
table.col_values(i)
获取行数和列数
nrows = table.nrows
ncols = table.ncols
循环行列表数据
for i in range(nrows ):
print table.row_values(i)
单元格
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
使用行列索引
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
二、pymysql
pymysql实现对mysql的操作
1、下载安装同上https://pypi.python.org/pypi/PyMySQL/
2、pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同。
连接数据库
import pymysql.cursors config = { 'host':'127.0.0.1', , 'user':'root', 'password':'zhyea.com', 'db':'employees', 'charset':'utf8mb4', 'cursorclass':pymysql.cursors.DictCursor, } # Connect to the database connection = pymysql.connect(**config)
插入操作 from datetime import date, datetime, timedelta import pymysql.cursors #连接配置信息 config = { 'host':'127.0.0.1', , 'user':'root', 'password':'zhyea.com', 'db':'employees', 'charset':'utf8mb4', 'cursorclass':pymysql.cursors.DictCursor, } # 创建连接 connection = pymysql.connect(**config) # 获取明天的时间 tomorrow = datetime.now().date() + timedelta(days=) # 执行sql语句 try: with connection.cursor() as cursor: # 执行sql语句,插入记录 sql = 'INSERT INTO employees (first_name, last_name, hire_date, gender, birth_date) VALUES (%s, %s, %s, %s, %s)' cursor.execute(sql, (, , ))); # 没有设置默认自动提交,需要主动提交,以保存所执行的语句 connection.commit() finally: connection.close();
三、将excel文件导入mysql数据库
python使用xlrd模块进行读取excel,使用pymysql连接数据库
#!/usr/bin/env python # encoding: utf- import xlrd import pymysql #设置基本变量 _host = 'localhost' _db = 'mydb' _user = 'root' _password = 'root' _table = 'hospital' _excel_name = '/home/zhaopei/IpolicyNeedFiles/hospital.xlsx' #open excel excel = xlrd.open_workbook(_excel_name) sheet = excel.sheet_by_index() rows = sheet.nrows cols = sheet.ncols data = [] fields = '' #第一行是表头的话,从1开始,第一行是数据,从0开始 , rows): data.append(sheet.row_values(i)) , cols): fields += '%s,' print fields #mysql conn = pymysql.connect(host=_host, user=_user, password=_password, db = _db, charset='utf8') cursor = conn.cursor() #批量插入数据 cursor.executemany(]+");", data) conn.commit()