前几天由于要处理很多实验数据,需要把很多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("文件路径及文件名")# 不要忘了文件的后缀名
推荐阅读
- Python每日一练|Python每日一练——第6天(冒泡排序算法【动图展示】)
- python|【自动测试不求人】python自动化测试对excel操作xlrd和xlwt库应用
- python|python中使用xlrd、xlwt操作excel表格详解
- Python|python操作excel(xlrd、xlwt、xlwings)
- python|python自动化办公(excel篇,从此做表不加班)
- python|100天精通Python——第41天(自动化操作Excel(xlrd和xlwt))
- python|Python(xlrd和xlwt模块操作Excel表格)
- Python使用Selenium的SMS Bomber
- Python函数名称中允许使用哪些字符()