python主要是使用第三方模块库xlrd、xlwt、xluntils、pyExcelerator和Pandas来处理excel文件数据。
1,xlrd
xlrd是用来从Excel中读写数据的,但我平常只用它进行读操作,写操作会遇到些问题。用xlrd进行读取比较方便,流程和平常手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)。import xlrd
data = xlrd.open_workbook('text.xls','rb')
print('工作表名为:'+ data.sheet_names()[0])
table = data.sheets()[0]
nrows = table.nrows
ncols = table.ncols
print('表格行数为%d,列数为%d'%(nrows,ncols))
#输出每一行的值
for item in range(table.nrows):
print(table.row_values(item))
#获取单元格的值
cell_A1 = table.row(0)[0].value
cell_A2 = table.cell(0,0).value
cell_A3 = table.col(0)[0].value
print(cell_A1)
print(cell_A2)
print(cell_A3)
2,xlwt
如果说xlrd不是一个单纯的Reader(如果把xlrd中的后两个字符看成Reader,那么xlwt后两个字符类似看成Writer),那么xlwt就是一个纯粹的Writer了,因为它只能对Excel进行写操作。xlwt和xlrd不光名字像,连很多函数和操作格式也是完全相同。下面简要归纳一下常用操作import xlwt
data = 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')