Python处理excel文件主要使用两个库:pyExcelerator 和 xlrd,pyExcelerator适合写入数据,而xlrd则适合读取数据
写入数据
from pyExcelerator import *
w = Workbook()
ws1 = w.add_sheet('sheet1')
ws2 = w.add_sheet('sheet2')
ws1.col(v).width = 3500 定义列的宽度
ws1.write(h,v,value)
ws1.write(h,v,value,style)
ws1.write_merge(r1,r2,c1,c2,"test",style) 参数:起始行,终止行,起始列,终止列(从0开始)
插入图片:
ws1.insert_bitmap("filename",row,col,x,y,scale_x,scale_y) 参数:文件名,要插入的行,列,x,y为插入位置的偏移量(默认为0,不偏移),scale_x,scale_y为横向和纵向的伸缩比(默认为1)
w.save('xx.xls')
def getStyle():
style = XFStyle()
font = Font() #这里设置字体
pattern = Pattern() #这里设置单元格的底纹
pattern.pattern=2 底纹的图案索引,0问实心,1为%75的灰色,2为50%的灰色
pattern.pattern_fore_colour = 53 底纹的前景色
pattern.pattern_back_colour = 53 底纹的背景色
borders = Borders() #这里设置边框
borders.left = 1
borders.right = 1
borders.top = 1
borders.bottom = 1
al = Alignment() #这里设置对齐方式
al.horz = Alignment.HORZ_CENTER
al.vert = Alignment.VERT_CENTER
style.font = font
style.pattern = pattern
style.borders = borders
style.alignment = al
return style
读数据
sh = wb.sheet_by_index(0) #获得工作表的方法1
sh = wb.sheet_by_name('Sheet1') #获得工作表的方法2
cellValue = sh.cell_value(i, j) #获得单元格数据
columnValueList = sh.col_values(i) #获得一列的数据
rowValueList = sh.row_values(i) #获得一行的数据
row_count=sh.nrows #获得行数
col_count=sh.ncols #获得列数
写入数据
from pyExcelerator import *
w = Workbook()
ws1 = w.add_sheet('sheet1')
ws2 = w.add_sheet('sheet2')
ws1.col(v).width = 3500 定义列的宽度
ws1.write(h,v,value)
ws1.write(h,v,value,style)
ws1.set_link(h,v,"http://...." )
ws1.write_merge(r1,r2,c1,c2,"test",style) 参数:起始行,终止行,起始列,终止列(从0开始)
插入图片:
ws1.insert_bitmap("filename",row,col,x,y,scale_x,scale_y) 参数:文件名,要插入的行,列,x,y为插入位置的偏移量(默认为0,不偏移),scale_x,scale_y为横向和纵向的伸缩比(默认为1)
w.save('xx.xls')
def getStyle():
style = XFStyle()
font = Font() #这里设置字体
font.name = 'Arial Black'
font.colour_index = 2 字体颜色设置为红色
pattern = Pattern() #这里设置单元格的底纹
pattern.pattern=2 底纹的图案索引,0问实心,1为%75的灰色,2为50%的灰色
pattern.pattern_fore_colour = 53 底纹的前景色
pattern.pattern_back_colour = 53 底纹的背景色
borders = Borders() #这里设置边框
borders.left = 1
borders.right = 1
borders.top = 1
borders.bottom = 1
al = Alignment() #这里设置对齐方式
al.horz = Alignment.HORZ_CENTER
al.vert = Alignment.VERT_CENTER
style.font = font
style.pattern = pattern
style.borders = borders
style.alignment = al
return style
读数据
import xlrd
wb = xlrd.open_workbook('book.xls') #打开文件sh = wb.sheet_by_index(0) #获得工作表的方法1
sh = wb.sheet_by_name('Sheet1') #获得工作表的方法2
cellValue = sh.cell_value(i, j) #获得单元格数据
columnValueList = sh.col_values(i) #获得一列的数据
rowValueList = sh.row_values(i) #获得一行的数据
row_count=sh.nrows #获得行数
col_count=sh.ncols #获得列数