python操作excel
excel操作一般是读写分离,我用的是xlrd(读),xlwt(写)
import xlrd # 返回工作簿对象 data = xlrd.open_workbook('xxx.xls') print(type(data),data) # 获取工作表 # 第一 索引取表 也就是sheets table = data.sheets()[0] print(type(table),table) # 第二 通过sheet名取表 table = data.sheet_by_name('Sheet1') print(table.name) # 以列表的方式获取整行或者整列的数据 # 第三行 t1 = table.row_values(2) print(type(t1),t1) # 第二列 t2 = table.col_values(1) print(type(t2),t2) # 获取行数和列数 nrow = table.nrows print(type(nrow)) print(str(nrow) + '行') ncol = table.ncols print(str(ncol) + '列') # 循环获取整张表 for i in range(nrow): print(table.row_values(i)) # 单元格取值 cell_b2 = table.cell(1,1).value print(cell_b2) # 行列索引取值 cell_b3 = table.row_values(1)[2] cell_a3 = table.row(0)[2].value print(cell_b3) print(cell_a3) #写入 for i in range(6): table.put_cell(5,i,i,str(i)+'hello',0) # 感觉也只是内存级别的写入 print(table.cell(5,1).value) import xlwt # 创建工作簿 workbook = xlwt.Workbook() # 创建sheet sheet1 = workbook.add_sheet('sheet1',cell_overwrite_ok=True) sheet2 = workbook.add_sheet('sheet2',cell_overwrite_ok=True) # 向sheet中写入数据 sheet1.write(0,0,'hello') sheet1.write(0,1,'hello2') sheet2.write(1,2,'nimei') sheet2.write(2,2,'nimei2') # 保存并命令文件,如果有,覆盖 workbook.save('tst.xls') # 定义样式 style = xlwt.XFStyle() font = xlwt.Font() font.name = "黑体" font.bold = True style.font = font sheet1.write(2,2,'blod text',style) sheet1.write(3,3,'hello',style) workbook.save('tst.xls')