xlrd、xlwt和xlsxwriter的区别在于:

xlrd和xlwt是一对的,一个读一个写。最大的区别是xlrd可以读xls和xlsx格式的表格,但是xlwt只可以写xls格式的表格。xlwt和xlsxwriter的功能类似,但是xlsxwriter只可以写xlsx格式的表格。如下:

image.png

这2个包主要功能也是写入excel表格,并且能够修改每个单元格里面的格式。以下为半转载的资料,以作为自己日后复查资料。

1、xlrd

(1)打开数据

data = xlrd.open_workbook(绝对路径)#打开数据

(2)常用方法

table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(sheet_index) #通过索引顺序获取
table = data.sheet_by_name(sheet_name)#通过名称获取
#以上三个函数都会返回一个xlrd.sheet.Sheet()对象
names = data.sheet_names() #返回book中所有工作表的名字
data.sheet_loaded(sheet_name or index) # 检查某个sheet是否导入完毕

(3)行的操作

nrows = table.nrows #获取该sheet中的有效行数
table.row(rowx) #返回由该行中所有的单元格对象组成的列表
table.row_slice(rowx) #返回由该列中所有的单元格对象组成的列表
table.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表
table.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表
table.row_len(rowx) #返回该列的有效单元格长度

(4)列的操作

ncols = table.ncols #获取列表的有效列数
table.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
table.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表
table.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表

(5)单元格操作

table.cell(rowx,colx) #返回单元格对象
table.cell_type(rowx,colx) #返回单元格中的数据类型
table.cell_value(rowx,colx) #返回单元格中的数据

2、xlwt

(1)创建表格

# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding = 'utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('My Worksheet')
# 写入excel
# 参数对应 行, 列, 值
worksheet.write(1,0, label = 'this is test')

(2)单元格文字格式操作,可以看出font其实就是对单元格字体的调整

style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
style.font = font # 设定样式
font.name = 'Times New Roman'
font.bold = True # 黑体
font.underline = True # 下划线
font.italic = True # 斜体字
font.height = 14 # 字体的高度
worksheet.write(0, 0, 'Unformatted value') # 不带样式的写入
worksheet.write(1, 0, 'Formatted value', style) # 带样式的写入

(3)单元格边框

borders= xlwt.Borders() # 为样式创建边框
borders.left= 6
borders.right= 6
borders.top= 6
borders.bottom= 6

(4)保存

# 保存
workbook.save('Excel_test.xls')