python主要是使用第三方模块库xlrd、xlwt、xluntils、pyexcelerator和pandas来处理excel文件数据。
1,xlrd
xlrd是用来从excel中读写数据的,但我平常只用它进行读操作,写操作会遇到些问题。用xlrd进行读取比较方便,流程和平常手动操作excel一样,打开工作簿(workbook),选择工作表(sheets),然后操作单元格(cell)。
import xlrddata = xlrd.open_workbook('text.xls','rb')print('工作表名为:'+ data.sheet_names()[0])table = data.sheets()[0]nrows = table.nrowsncols = table.ncolsprint('表格行数为%d,列数为%d'%(nrows,ncols))#输出每一行的值for item in range(table.nrows): print(table.row_values(item))#获取单元格的值cell_a1 = table.row(0)[0].valuecell_a2 = table.cell(0,0).valuecell_a3 = table.col(0)[0].valueprint(cell_a1)print(cell_a2)print(cell_a3)
2,xlwt
如果说xlrd不是一个单纯的reader(如果把xlrd中的后两个字符看成reader,那么xlwt后两个字符类似看成writer),那么xlwt就是一个纯粹的writer了,因为它只能对excel进行写操作。xlwt和xlrd不光名字像,连很多函数和操作格式也是完全相同。下面简要归纳一下常用操作
import xlwtdata = xlwt.workbook()#新建工作表,可对同一个单元格重复操作table = data.add_sheet('hello', cell_overwrite_ok=true)#写入数据到a1单元格table.write(0,0,'hello world')#保存文件,不支持xlsx格式data.save('test2.xls')#初始化样式style = xlwt.xfstyle()#创建字体font = xlwt.font()#指定字体名字font.name = 'times new roman'#字体加粗font.bold = true#将该font设定为style的字体style.font = font#写入到文件时使用该样式table.write(0,1,'ni hao', style)#修改完要再一次保存data.save('test2.xls')
以上就是python能处理excel吗的详细内容。