Python中使用xlrd、xlwt、xlutils读写Excel文件
一、使用xlrd库读excel文件:
1、xlrd模块是什么
- python第三方工具包,用于读取excel中的数据;
- 它支持 xlsx 和 xls 格式的excel表格;
- 打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)
- 与之对应的还有一个xlwt包,用于往excel中写入数据。
- 命令行中输入:pip install xlrd
- 下载安装包进行离线安装
2、安装xlrd模块
- 命令行中输入:pip install xlrd
- 下载安装包进行离线安装
3、xlrd应用举例:
(1)打开一个工作簿对象:
workbook = xlrd.open_workbook("a1.xlsx")
(2)获取一个工作表(三种方法):
sheet = workbook.sheets()[0] #通过索引顺序获取
sheet = workbook.sheet_by_index(0) #通过索引顺序获取
sheet = workbook.sheet_by_name(u'Sheet1')#通过名称获取
(3)获取行数和列数:
rows = sheet.nrows #获取行数
cols = sheet.ncols #获取列数
(4)获取整行和整列的值
rowData = sheet.row_values(行索引号)
colDate = sheet.col_values(列索引号)
(5)通过循环读取表格的所有行
for i in range(sheet.nrows):
print(sheet.row_values(i))
(6)获取单元格的值
cell_A1 = sheet.row(0)[0]
cell_A1 = sheet.cell(0,0)
cell_A1 = sheet.col(0)[0]
二、使用xlwt库写excel文件:
1、xlwt模块是什么
- xlwt就是一个纯粹的Writer了,因为它只能对Excel进行写操作
import xlwt
workbook =xlwt.Workbook() #新建一个工作簿
s1 = workbook.add_sheet("test") #向工作簿中添加工作表,名称为test
s1.write(0,0,u"姓名") #向test表的第一个单元格添加"姓名"
s2 = workbook.add_sheet("tttt") #向工作簿中添加工作表,名称为tttt
s2.write(0,1,u'职称') #向tttt表的第二个单元格添加"职称"
workbook.save("a1.xlsx")
2、xlwt支持一定的样式,操作如下:
#初始化样式
- style=xlwt.XFStyle()
#为样式创建字体
- font=xlwt.Font()
#指定字体名字
- font.name='Times New Roman'
#字体加粗
- font.bold=True
#将该font设定为style的字体
- style.font=font
#写入到文件时使用该样式
- sheet.write(0,1,'just for test',style)
三、使用xlutils在excel工作簿中增加新的sheet表:xlutils模块用于复制excel表格
import xlrd,xlwt,xlutils
from xlutils.copy import copy
rb = xlrd.open_workbook("a3.xlsx",formatting_info=True)
wb = copy(rb)
#workbook =xlwt.Workbook() #新建一个工作簿
s1 = wb.add_sheet("t1") #向工作簿中添加工作表,名称为test
s1.write(0,0,u"姓名") #向test表的第一个单元格添加"姓名"
s2 = wb.add_sheet("t2") #向工作簿中添加工作表,名称为tttt
s2.write(0,1,u'职称') #向tttt表的第二个单元格添加"职称"
wb.save("a3.xlsx")