xlrd与xlwt库的异同点对比
相同点
都支持对Excel文件格式为xls的文件进行操作
不同点
xlrd只支持对Excel文件格式为xls文件的读取 xlwt只支持对Excel文件格式为xls文件的写入
pip安装
pip install xlrd pip install xlwt
xlrd库的读操作
import xlrd rd = xlrd.open_workbook("2019.xlsx") #读取文件 2019.xlsx sheets = rd.sheet_names() #获取所有sheet名 table = rd.sheet_by_name("Sheet1") #通过sheet名获取名为 2019 的表
一种读取方法
# ceil方法 print("第1行 1~3 列", table.cell(0,0), table.cell(0,1), table.cell(0,2)) # (首行标题栏,即列名) print("第2行 1~3 列", table.cell(1,0), table.cell(1,1), table.cell(1,2)) # ceil().value 方法 print("第2行 1~3 列", table.cell(1, 0), table.cell(1, 1), table.cell(1, 2)) print("第2行 1~3 列", table.cell(1,0).value, table.cell(1,1).value, table.cell(1,2).value)
输出(可以看出 cell().value的用法会直接取数据的值,不会像 cell()方法,会输出字段数据类型)
第1行 1~3 列 text:'A' text:'B' text:'C' 第2行 1~3 列 text:'1 * 0' text:'1 * 1' text:'1 * 2' 第2行 1~3 列 text:'1 * 0' text:'1 * 1' text:'1 * 2' 第2行 1~3 列 1 * 0 1 * 1 1 * 2
另一种读取方法
# row、col方法 print("第2行 第1列:", table.row(1)[0]) print("第3列 第1行:", table.col(2)[0]) # row().value、 col().value方法 print("第2行 第1列:", table.row(1)[0].value) print("第3列 第1行:", table.col(2)[0].value)
输出(可以看出 row().value、row().value的用法会直接取数据的值,不会像row(),col()方法,会输出字段数据类型)
第2行 第1列: text:'1 * 0' 第3列 第1行: text:'C' 第2行 第1列: 1 * 0 第3列 第1行: C
xlwt库的写操作
import xlwt # xlwt非python自带库,需pip命令安装 wt = xlwt.Workbook() #创建一个Excel工作簿的对象 table = wt.add_sheet("demo") #在Excel工作簿里面创建一个名为“demo”的表格
接下来是往表里写数据
#创建列名分别为:A,B,C,D,填入第一行,位置依次为:(0,0),(0,1),(0,2),(0,3) table.write(0,0, "A") table.write(0,1, "B") table.write(0,2, "C") table.write(0,3, "D")
# 填入 4 * 4 的表格数据 for i in range(0, 4): for j in range(1, 5): content = "{0} * {1}".format(j, i) table.write(j,i, content) # 第j行 * 第i列,填入数据 content wt.save("demo.xls") #保存Excel文件,命名为:demo.xls