python操作Excel常用的模組xlsxwriter、xlwt、xlrd
阿新 • • 發佈:2018-12-16
一、xlsxwriter
import xlsxwriter as xw
#新建excel
workbook = xw.Workbook('myexcel.xlsx')
#新建工作薄
worksheet = workbook.add_worksheet('demo')
#寫入資料
worksheet.wirte('A1',1)
#關閉儲存
workbook.close()
就是如此簡單,但是也有缺點,只可以新建然後寫入資料,儲存文件,連讀取Excel檔案都不行
二、xlwt
import xlwt
# 建立一個Workbook物件,這就相當於建立了一個Excel檔案
book = xlwt. Workbook(encoding='utf-8', style_compression=0)
'''
Workbook類初始化時有encoding和style_compression引數
encoding:設定字元編碼
style_compression:表示是否壓縮,不常用。
'''
#建立一個sheet物件,一個sheet物件對應Excel檔案中的一張表格。
# 在電腦桌面右鍵新建一個Excel檔案,其中就包含sheet1,sheet2,sheet3三張表
sheet = book.add_sheet('test', cell_overwrite_ok=True)
# 其中的test是這張表的名字,cell_overwrite_ok,表示是否可以覆蓋單元格,其實是Worksheet例項化的一個引數,預設值是False
# 向表test中新增資料
sheet.write(0, 0, 'EnglishName') # 其中的'0-行, 0-列'指定表中的單元,'EnglishName'是向該單元寫入的內容
sheet.write(1, 0, 'Marcovaldo')
book.save('test1.xls')
xlwt實現了新建,修改,儲存Excel的功能 讀取怎麼實現?
三、xlrd
import xlrd
xlsfile = r"C:\Users\Administrator\Desktop\myexcel.xls" # 開啟指定路徑中的xls檔案
book = xlrd.open_workbook( xlsfile) # 得到Excel檔案的book物件,例項化物件
sheet0 = book.sheet_by_index(0) # 通過sheet索引獲得sheet物件
print("1、", sheet0)
sheet_name = book.sheet_names()[0] # 獲得指定索引的sheet表名字
print("2、", sheet_name)
sheet1 = book.sheet_by_name(sheet_name) # 通過sheet名字來獲取,當然如果知道sheet名字就可以直接指定
nrows = sheet0.nrows # 獲取行總數
print("3、", nrows)
# 迴圈列印每一行的內容
for i in range(nrows):
print(sheet1.row_values(i))
ncols = sheet0.ncols # 獲取列總數
print("4、", ncols)
row_data = sheet0.row_values(0) # 獲得第1行的資料列表
print(row_data)
col_data = sheet0.col_values(0) # 獲得第1列的資料列表
print("5、", col_data)
# 通過座標讀取表格中的資料
cell_value1 = sheet0.cell_value(0, 0)
print("6、", cell_value1)
cell_value2 = sheet0.cell_value(0, 1)
print("7、", cell_value2)