本文主要介绍如何使用Python的xlrd库和xlwt库读写Excel文件。
xlrd从2.0.0版本开始只能读xls文件,如果想要读取xlsx文件,需要安装旧版本1.2.0
一、xlrd
基本读取步骤:①打开工作簿;②选择指定工作表;③对工作表内容进行操作(行、列、单元格)。
import xlrd
# 打开工作簿
wb = xlrd.open_workbook("test.xlsx")
# 选择工作表
sheet = wb.sheet_by_name("sheet1")
# 读取数据
sheet.cell(0,1) # 获取指定单元格对象
sheet.cell_value(0,1) # 获取指定单元格数据
1. 获取所有工作表名
name_list = wb.sheet_names()
2. 选择指定工作表
# 第一种方式:通过索引顺序获取
sheet1 = wb.sheets()[0]
sheet2 = wb.sheet_by_index(0)
# 第二种方式:通过名称获取
sheet3 = wb.sheet_by_name("sheet1")
3. 操作行
# 获取行数
sheet.nrows
# 获取第2行所有单元格对象构成的列表
sheet.row(1)
# 返回指定行的所有单元格数值组成的列表
sheet.row_values(1)
# 获取指定行的有效长度
sheet.row_len(1)
4. 操作列
# 获取列数
sheet.ncols
# 获取第2列所有单元格对象构成的列表
sheet.col(1)
# 返回指定列的所有单元格数值组成的列表
sheet.col_values(1)
# 获取指定列的有效长度
sheet.col_len(1)
5. 操作单元格
# 获取单元格对象
sheet.cell(1,1)
# 获取单元格的值
sheet.cell_value(1,1)
# 获取单元格的数据类型
sheet.cell_type(1,1)
二、xlwt
基本写入步骤:①新建工作簿;②添加工作表;③写入数据;④保存到本地。
import xlwt
# 新建工作表
wb = xlwt.Workbook(encoding="UTF-8")
# 添加工作表
sheet = wb.add_sheet("mysheet")
# 写入数据
sheet.write(1,1,"测试数据")
# 保存文件到本地
wb.save("test.xls")
1. 行设置
# 设置行高为4个字符
sheet.row(0).height = 4*256
2. 列设置
# 设置列宽为4个字符
sheet.col(0).width = 4*256
3. 单元格设置
对齐方式
#horz代表水平对齐方式,vert代表垂直对齐方式。
# VERT_TOP = 0x00 上端对齐
# VERT_CENTER = 0x01 居中对齐(垂直方向上)
# VERT_BOTTOM = 0x02 低端对齐
# HORZ_LEFT = 0x01 左端对齐
# HORZ_CENTER = 0x02 居中对齐(水平方向上)
# HORZ_RIGHT = 0x03 右端对齐
#左端对齐、垂直直居中
style=xlwt.XFStyle()
al =xlwt.Alignment()
al.horz=0x01
al.vert=0x01
style.alignment=al
sheet.write(1,0,"测试",style)
背景色
pattern=xlwt.Pattern()
pattern.pattern=xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour=2 # 数字2对应红色
style=xlwt.XFStyle()
style.pattern=pattern
sheet.write(2,0,"测试",style)
参考链接