一、使用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")