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

posted on 2018-10-29 15:36  23云恋49枫  阅读(291)  评论(0编辑  收藏  举报