python處理Excel(openpyxl模塊的使用)

由於任務經常需要使用python處理Excel數據,記錄下常用的python控制Excel的方法,備忘

Tips:openpyxl模塊只支持.xlsx後綴的Excel表格,.xls後綴別的表格暫不支持,提供以下兩種解決思路:

  • 1.打開.xls後綴的表格另存爲.xlsx格式。

  • 2.使用xlrd模塊讀,xlwt模塊寫(不推薦這種方法,沒有openpyxl模塊方便,而且如今大部分都是.xlsx格式的表格)


第一步、安裝openpyxl模塊

在cmd裏直接輸入以下命令即可
pip install openxyxl

這是一個成績表,接下來以這個表爲例展開

在這裏插入圖片描述

1.基本概念

  • 在 openpyxl 中,主要用到三個概念:Workbook,Sheet,Cell:
  • Workbook:就是一個 excel 工作簿,其中包含多個 sheet;
  • Sheet:工作簿中的一張表頁;
  • Cell:就是簡單的一個單元格,用來存儲數據對象;

2. 讀取.xlsx文件

wb = load_workbook('test.xlsx')    # 讀取Excel文件
  • 按名字讀取Excel中的表
sheet = wb['Sheet1']    # 按名字讀取Excel裏的表
  • 按Excel中的表的順序讀取Excel中的表
# wb.sheetnames 爲Excel表的列表
sheet = wb[wb.sheetnames[0]]    # 讀取Excel裏的第一張表
  • 獲取Excel中的最大列和最大行
row = sheet.max_row    # 獲取表中的最大列
column = sheet.max_column    # 獲取表中的最大行
  • 獲取表格裏的值
A1 = sheet["A1"].value    # 獲取A1格子裏的值
  • 保存Excel表
wb.save('test2.xlsx')    # 保存爲名字爲"test2.xlsx"的Excel表
部分源碼
from openpyxl import *

# 讀取.xlsx文件
wb = load_workbook('test.xlsx')

# 讀取Excel裏的第一張表
sheet = wb[wb.sheetnames[0]]

# 遍歷B列
for i in range(1, sheet.max_row+1):
    print(sheet["B"+str(i)].value)

3.創建Excel表格

wb = Workbook()    # 創建工作簿
sheet = wb.active    # 激活工作表 

4.單元格處理

  • 合併、拆分單元格
sheet.merge_cells('A1:B2')    # 合併單元格
sheet.unmerge_cells('A1:B2')    # 拆分單元格
  • 修改行和列的寬

sheet.column_dimensions['A'].width = 10    # 調整列寬


sheet.row_dimensions[1].height = 20    # 調整行高
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章