- xlwings能夠非常方便的讀寫Excel文件中的數據,並且能夠進行單元格格式的修改
xlwings基本操作
- 打開已有的Excel文檔
# 導入xlwings模塊 # 打開Excel程序,默認設置:程序可見,只打開不新建工作薄,屏幕更新關閉 import xlwings as xw app=xw.App(visible=True,add_book=False) app.display_alerts=False app.screen_updating=False # 打開文檔,然后保存,關閉,結束程序 wb=app.books.open('data.xlsx') wb.save() wb.close() app.quit()
2.打開sheet頁
sheet = wb.sheets['sheet1'] # 根據sheet頁名稱打開 sheet = wb.sheet[0] # 根據下標打開
3.單元格賦值
# 單元格的引用 # A1單元格 cell = sheet[’A1'] # A1:B5單元格 cell = sheet['A1:B5'] # 對於單元格也可以用表示行列的tuple進行引用 # A1單元格的引用 cell = sheet.Range(1,1) #A1:C3單元格的引用 cell = sheet.Range((1,1),(3,3)) # 對單元格賦值 cell.value = 'xxxxx'
4.單元格讀取
# 讀取單個值 # 將A1的值,讀取到a變量中 a = sheet.range('A1').value 將值讀取到列表中 #將A1到A2的值,讀取到a列表中[] b = sheet.range('A1:A2').value # 將第一行和第二行的數據按二維數組的方式讀取[[],[]] c = sheet.range('A1:B2').value
5.獲取最大行數
# 獲取匯總sheet的最大行數 def get_max_row(): max_row = sheet.used_range.last_cell.row return max_row
6.查找包含某關鍵字的元素所在單元格
# 得到key_value元素所在行號 def get_row_num(key_value): row_number = '' # 迭代遍歷每行 for row in range(1, sheet.get_max_row()): # 給定的條件,讀者可根據自身需求自定義 # 判斷第 1 列的值 包含 key_value if key_value in str(sheet.range(row, 1).value): # 關鍵步驟!獲得當前行的行號! row_number = row return row_number
7.刪除行操作
# 刪除行 def delete_rows(start_row, end_row): sheet.range(f'{start_row}:{end_row}').api.Delete()
8.合並單元格
# 合並指定單元格 def together_cells(row_from, row_to): sheet.range('A{}:A{}'.format(row_from, row_to)).api.Merge()
9.插入空行
def insert_space_rows(idx): sheet.api.Rows(idx).Insert()