因为需要将excel 的数据导入到数据库,所以,了解了下关于读写 excel 的 Python 库。
http://www.python-excel.org/ 这里介绍了几种比较常用的库。
我用到了其中两种库,分别是 xlrd xlwt ,xlrd 主要是读 excel ,也可以简单写入。
xlwt 是写 excel,主要是可以设置格式。
基本的用法:
xlrd:
import xlrd
def read_excel(file_name):
data = xlrd.open_workbook(file_name)# 打开一个 excel 文件读取
table = data.sheets()[0]#按索引获取第一个工作表
#table = data.sheet_by_index(0)#通过索引顺序获取
#table = data.sheet_by_name(u'Sheet1')#通过名称获取
table.row_values(i)#获取 i 行整行数据
table.col_values(i)#获取 i 列整列数据
rows = tables.nrows #获取总列数
cols = table.ncols #获取总行数
for i in range(0, nrows-1):
for j in range(0, cols-1)
data = table.cell(i, j).value #获取每个单元格数据
#类型0 empty,1string,2 number ,3 date, 4 Boolean,5 error
#xf = 0 扩展的格式化
#table.put_Cell(row, col, ctype, value, xf) #写入数据示例
xlwt:
import xlwt
from datetime import datetime
style = xlwt.easyxf('front :name Times New Roman, color-index red, bold on', num_format_str='#,##0.00')#样式设置
#另一种样式写法
#style = xlwt.Font()
#style.name = 'Treuchet M5'
#style.corlur_index = 'dark_blue'
#style.hight = 120
#style.bold =True
style1 = xlwt.easyxf(num_format_str='D-MMM-YYY')#数据格式设置
wb = xlwt.Workbook() #创建一个 excel 对象
ws = wb.add_sheet('sheet1') #添加一个工作表
ws.write(0,0,1234.56,sheet0) #写入数据参数:行数 列数 样式 值
ws.write(1,0,datetime.now(),style1)
ws.write(2,0,1)
ws.write(2,1,1)
ws.write(2, 2, xwlt.Formula('A3+B3'))
ws.write_merge(3,3,0,2,'nihao',style1) #合并单元格 要合并的开始行 结束行 开始列 结束列 值 样式
wb.save('example.xls') #保存
带边框背景色的样式示例:
head_style = xlwt.easyxf(
‘font: name Trebuchet MS, color-index dark_blue, height 280; align: wrap off; borders: left 2,top 2, right 2, bottom 2; pattern: fore_colour gray25, back_color gray25’)