区别:
- openyxl:可以对xlsx、xlsm文件进行读、写操作,主要对Excel2007年之后的版本(.xlsx)
- xlrd:可以对xlsx、xls、xlsm文件进行读操作且效率高
- xlwt:主要对xls文件进行写操作且效率高,但是不能执行xlsx文件
安装
读:pip3 install xlrd==1.2.0
(高版本不支持xlsx)
写:pip install xlwt
读操作
import xlrd
# 读取文件
df = xlrd.open_workbook('test.xlsx')
# 显示所有sheet
print(df.sheet_names())
>>> ['Sheet1', 'Sheet2', 'Sheet3']
# 获取所有sheet对象
print(df.sheets())
[<xlrd.sheet.Sheet object at 0x000001995152D7C8>, <xlrd.sheet.Sheet object at 0x0000019951567648>, <xlrd.sheet.Sheet object at 0x0000019951567988>]
# 获取sheet对象
table=df.sheets()[0]
table=df.sheet_by_index(0)
table=df.sheet_by_name('name')
# 获取行列
row=table.nrows
col=table.ncols
# 获取整行,整列的值,行列值从0开始
table.row_values(num1)
table.column_values(num2)
# 获取单元格的值
cell=table.cell(0,0).value
写操作
import xlwt
# 创建excel文件
df2 = xlwt.Workbook()
# 新建表
table2=df2.add_sheet('name')
table2=df2.add_sheet('name',cell_overwrite_ok=True) 允许重复写一个单元格
# 写入数据
table2.write(0,0,'Python')
# 保存
df2.save('data2.xls')