Python操作excel(xlrd和xlwt)
2017-08-16 11:11
591 查看
前几天由于要处理很多实验数据,需要把很多excel文件中的数据按照一定的格式汇总到一个excel文件中,于是在网上查阅了一些资料,利用了xlrd和xlwt这两个python库。通过几十行代码就完成了数据的整理汇总工作,节约了大量时间,再也不用麻烦地一个个去复制粘贴了。简要总结一下这两个库最基本的操作。使用这两个库时需要下载安装,直接使用pip install即可,详细安装流程自行百度。
1. 首先需要引入该库
2. 打开已存在的excel文件
结果返回一个Book类。注意文件的绝对路径要包含文件名及其后缀,且路径中“\”的地方要用“\ \”或用原始字符串。
3. 获取sheet对象
一个excel文件中可能有多个工作表,有三种方法获取指定的工作表
4. 获取整行或整列的值
打开的工作表最大行号和列号分别为
在遍历行列或单元格时不要超出最大行号和列号,否则可能会出现溢出错误
获取一行或一列的单元格值,返回结果为一个数组
5. 获取单元格的值
1. 首先引入该库
2. 创建一个WorkBooK
3. 新建一个工作表
4. 对指定单元格写入数据
应用样式
合并单元格后写入数据
5. 保存excel文件
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=MySheet.row_values(行号) #起始行号为0 ColVALUE=MySheet.col_values(列号) #起始列号为0
5. 获取单元格的值
CellValue=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分别为所合并单元格左上角和右下角的单元格
5. 保存excel文件
MyBook.save("文件路径及文件名") # 不要忘了文件的后缀名
相关文章推荐
- python - 通过加载第三方库xlrd/xlwt/xlsxwriter,来读写excel文件,不涉及图形操作
- [Python笔记] 使用xlrd和xlwt进行简单的excel表格读写操作
- python+xlrd+xlwt操作excel
- 使用python读写操作同一个excel(xlrd,xlwt,xlutils)
- Python xlrd/xlwt对excel进行操作
- Python 使用 Xlrd/xlwt 操作 Excel
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
- Python操作excel的几种方式--xlrd、xlwt、openpyxl
- python使用xlrd xlwt操作Excel
- Python 使用 Xlrd/xlwt 操作 Excel
- python中使用xlrd、xlwt和xlutils3操作Excel
- python操作excel之xlrd、xlwt模块详解
- Python使用xlrd,xlwt操作excel例子
- python操作Excel读写--使用xlrd和xlwt
- python中使用xlrd、xlwt操作excel
- Python 使用 Xlrd/xlwt 操作 Excel 分类: python基础学习 2014-03-17 12:06 958人阅读 评论(0) 收藏
- Python 使用 Xlrd/xlwt 操作 Excel
- 【Python】excel读写操作 xlrd & xlwt
- python excel 的相关操作(使用 xlrd xlwt 读写)