某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入、删除列、拷贝、求和,所以给了4天的时间要完成。
我不愿意做大量简单而且又是重复性工作,看了看3只表格的格式基本一样,于是我用python写了30行代码完成了这个“艰巨”任务。
0x01
用python操作excel需要安装xlrd、xlwt(或者其他的模块也行)。
读取excel文件:workbook = xlrd.open_workbook('filename.xlsx')
获取所有表名:sheet_names = workbook.sheet_names()
通过索引顺序获取一个工作表:sheet0 = workbook.sheets()[0] || sheet1 = workbook.sheet_by_index(1)
通过名称获取一个工作表:sheet3= data.sheet_by_name(u'sheetname')
获取表的行、列大小:rows = sheet.nrows || cols = sheet.ncols
获取指定行、列的值:col0_value = sheet.col_valsue(0) || row0_value = sheet.row_values(0)
创建工作对象:wk = xlwt.Workbook(encoding='utf-8')
添加sheet对象:sheet0 = wk.add_sheet(sheetname,cell_overwrite=True)