这篇文章主要为大家详细介绍了python如何操作excel让工作自动化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
某局某领导给了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)
将值写入单元格:sheet0.write(row,col,value)
保存文件:wk.save(‘filename.xls’)
0x02
# coding=utf-8 import xlrd import xlwt workbook = xlrd.open_workbook('2014年排放量.xlsx') sheet_names = workbook.sheet_names() #通过索引顺序获取一个工作表 sheet0 = workbook.sheets()[0] sheet1 = workbook.sheet_by_index(1) sheet2 = workbook.sheet_by_index(2) sheet3 = workbook.sheet_by_index(3) sheet4 = workbook.sheet_by_index(4) sheet5 = workbook.sheet_by_index(5) sheet6 = workbook.sheet_by_index(6) sheet7 = workbook.sh来源gao!%daima.com搞$代*!码网
eet_by_index(7) sheet8 = workbook.sheet_by_index(8) #通过名称获取一个工作表 #table = data.sheet_by_name(u'Sheet1') #获取多少行、列 sht0_rows = sheet0.nrows sht0_cols = sheet0.ncols #获取指定单元格的值 temp = sheet0.cell(0,2) #获取指定行、列的值 temp_col0 = sheet0.col_values(0) temp_row0 = sheet0.row_values(0) temp_col1 = sheet0.col_values(1) temp_row1 = sheet0.row_values(1) #需要204个单元格 一共tb0_rows个 减去前两个 ''' for i in range(204/6):#循环34次 for j in temp_row: j[2:8] ''' #print(tb0_rows,tb0_cols,temp,temp_row,temp_row[2:8],temp_col) #取选定工作范围 #print(temp_row[2:206]) wk = xlwt.Workbook(encoding='utf-8') wk_lst = []#创建sheet列表 for shtname in sheet_names: #print(shtname) wk_lst.append(wk.add_sheet(shtname,cell_overwrite_ok=True)) #print(len(wk_lst)) '''测试插入表格 for c in range(len(temp_col0)): wk_lst[0].write(c,0,temp_col0[c]) #print(temp_col[c]) ''' #需要读的sheet列表 xlrd_sheet_list = [sheet0,sheet1,sheet2,sheet3] for tm in range(len(wk_lst)): if tm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网。
以上就是python操作excel让工作自动化的详细内容,更多请关注gaodaima搞代码网其它相关文章!