项目中需要生成excel表格,在网上查了一些资料后,整理记录下。
1. 读excel表格
1 '''
2 读取XLS,XLSX文件3 '''
4 defreadExcelFile(filename):5 #打开工作表
6 workbook = xlrd.open_workbook(filename=filename)7 #用索引取第一个工作薄
8 booksheet =workbook.sheet_by_index(0)9 #返回的结果集
10 for i inrange(booksheet.nrows):11 print(booksheet.row_values(i))
依赖的库:
import xlrd
代码解释:
第6行,xlrd.open_workbook打开一个已经存在的excel文件,文件不存在会造成打开失败。
第8行,通过索引获取工作薄对象,workbook.sheet_by_index;也可以通过名称获取工作薄,workbook.sheet_by_name
第10行,booksheet.nrows获取工作薄的总行数,同样的,booksheet.ncols获取工作薄的总列数
第11行,booksheet.row_values(i)获取一整行的内容
该方法对python2.x和python3.x通用,也适用于打开XLS,XLSX文件
2. 写excel文件
'''写XLS,XLSX文件
@filename 文件名
@header 列头
@content 内容'''
defwriteExcelFile(filename, header, content):#因为输入都是Unicode字符,这里使用utf-8,免得来回转换
workbook = xlwt.Workbook(encoding='utf-8')
booksheet= workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)#写列头
row =0for col inrange(len(header)):
booksheet.write(row, col, header[col])#写内容
for lines incontent:
row+= 1
for col inrange(len(lines)):
booksheet.write(row, col, lines[col])#保存文件
workbook.save(filename)
依赖的库:
import xlwt
代码解释:
写excel文件的大致过程是
1. xlwt.Workbook 先建一个workbook对象
2. 添加工作薄 workbook.add_sheet
3. 写单元格 booksheet.write(row, col, text)
4. 保存文件 workbook.save
该方法对python2.x和python3.x通用,也适用于写XLS,XLSX文件