Python|Python操作excel(xlrd和xlwt)

前几天由于要处理很多实验数据,需要把很多excel文件中的数据按照一定的格式汇总到一个excel文件中,于是在网上查阅了一些资料,利用了xlrd和xlwt这两个python库。通过几十行代码就完成了数据的整理汇总工作,节约了大量时间,再也不用麻烦地一个个去复制粘贴了。简要总结一下这两个库最基本的操作。使用这两个库时需要下载安装,直接使用pip install即可,详细安装流程自行百度。
xlrd 该库用于读取已存在excel中的数据
1. 首先需要引入该库

import xlrd

2. 打开已存在的excel文件
MyBook=xlrd.open_workbook("文件所在的绝对路径")

结果返回一个Book类。注意文件的绝对路径要包含文件名及其后缀,且路径中“\”的地方要用“\ \”或用原始字符串。
3. 获取sheet对象
一个excel文件中可能有多个工作表,有三种方法获取指定的工作表
MySheet=MyBook.sheets()[索引号]# 通过索引获取,起始索引为0

MySheet=MyBook.sheet_by_index(索引号)# 通过索引获取,起始索引为0

MySheet=MyBook.sheet_by_name(u'表名')# 通过工作表名获取

4. 获取整行或整列的值
打开的工作表最大行号和列号分别为
nrows=MySheet.nrows# 最大行号 ncols=MySheet.ncols# 最大列号

在遍历行列或单元格时不要超出最大行号和列号,否则可能会出现溢出错误
获取一行或一列的单元格值,返回结果为一个数组
RowValue=https://www.it610.com/article/MySheet.row_values(行号)#起始行号为0 ColVALUE=MySheet.col_values(列号)#起始列号为0

5. 获取单元格的值
CellValue=https://www.it610.com/article/MySheet.cell(行号,列号).value # 通过行号和列号来获取指定单元格的值,左上角第一个单元格为(0,0)

xlwt 该库用于生成excel文件
1. 首先引入该库
import xlwt

2. 创建一个WorkBooK
MyBook=xlwt.Workbook(encoding="utf-8") # 注意Workbook首字母大写,encoding参数指定为utf-8允许输出中文

3. 新建一个工作表
MySheet=MyBook.add_sheet("表名",cell_overwrite_ok=True) # cell_overwrite_ok参数设置为True时允许同一个单元格被重复写入,否则会出现错误

4. 对指定单元格写入数据
MySheet.write(行号,列号,值,[样式])

应用样式
style = xlwt.XFStyle()#初始化样式 font = xlwt.Font()#为样式创建字体 font.name = "Times New Roman"#设置字体 font.bold = True#加粗 font.italic = True#斜体 font.underline = True#加下划线 font.colour_index = 2#设置字体颜色为红色 font.height = 20#设置字体大小 style.font = font#为样式设置字体 pattern = xlwt.Pattern()#为样式创建图案 pattern.pattern = xlwt.Pattern.SOLID_PATTERN pattern.pattern_fore_colour = 5#设置单元格前景色为黄色 style.pattern = pattern#为样式设置图案 alignment = xlwt.Alignment()#创建对齐方式 alignment.horz = xlwt.Alignment.HORZ_CENTER#设置水平对齐方式 # 水平对齐方式(HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED) alignment.vert = xlwt.Alignment.VERT_CENTER#设置垂直对齐方式 # 垂直对齐方式(VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED) style.alignment = alignment#设置对齐方式 MySheet.write(0,0,"test",style)#按指定样式写入单元格 # 颜色索引(0:黑色,1:白色,2:红色,3:绿色,4:蓝色,5:黄色,6:紫红....)

合并单元格后写入数据
MySheet.write_merge(单元格1的行号,单元格2的行号,单元格1的列号,单元格2的列号,值,[样式]) # 单元格1和单元格2分别为所合并单元格左上角和右下角的单元格

【Python|Python操作excel(xlrd和xlwt)】5. 保存excel文件
MyBook.save("文件路径及文件名")# 不要忘了文件的后缀名

    推荐阅读