一、openpyxl安裝和介紹
1. 安裝openpyxl
- 安裝命令:
pip install openpyxl
- 已安裝成功:
Requirement already satisfied: openpyxl in d:\install\python3.7.1\lib\site-packages (3.0.0)
Requirement already satisfied: jdcal in d:\install\python3.7.1\lib\site-packages (from openpyxl) (1.4.1)
Requirement already satisfied: et_xmlfile in d:\install\python3.7.1\lib\site-packages (from openpyxl) (1.0.1)
若pip命令提示:
unknow or unsupported command install
說明不支持命pip令,可能因爲您的電腦中裝了loadrunner等軟件,導致了系統無法識別到底應該用哪個pip
E:\PycharmProjects\py23_class>where pip
D:\install\python3.7.1\Scripts\pip.exe
解決方法:輸入完全路徑的方式來執行pip命令
- pip升級命令
python -m pip install --upgrade pip
- python中與excel操作相關的模塊:
- xlrd庫:從excel中讀取數據。支持xls、xlsx
- xlwt庫:對excel進行修改操作。不支持對xlsx格式的修改。
- xlutils庫:在xlwt和xlrd中,對一個已存在文件進行修改。
- openpyxl庫:主要針對xlsx格式的excel進行讀取和編輯。
注意:從桌面創建(.xlsx)格式的文件,把測試數據寫入到excel中,然後複製到pycharm目錄中
2. Excel中的三大對象
-
WorkBook:工作簿對象(excel文件)
-
Sheet:表單對象(每一個Sheet就是一個sheet對象)
-
Cell:表格對象(一個單元格就是一個Cell)
二、openpyxl對excel的操作
導入openpyxl
import openpyxl
第一步:打開已存在的excel文件
wb = openpyxl.load_workbook('文件名.xlsx')
第二步:選擇工作簿中的某個表單(sheet)
sh = wb['表單名']
第三步:讀取表格的內容
print(sh.cell(row=1, column=3).value)
往表格中寫入內容(寫入後一定要保存表單)
sh.cell(row=1, column=4).value = 123
保存表單(如果文件已存在,將覆蓋原文件)
wb.save('文件名.xlsx')
獲取表單中最大的行
max_row = sh.max_row
print(max_row)
獲取表單中最大的列
max_column = sh.max_column
print(max_column)
按行讀取表單中所有的格子對象,每一行的格子放在一個元祖中
rows = sh.rows
for r in rows:
print(r)
將表單中的內容,按行獲取所有的格子
rows = list(sh.rows)
cases = []
獲取表頭,放到列表中
title = []
for c in rows[0]:
title.append(c.value)
獲取除表頭以外的其他行中的數據
for r in rows[1:]:
data = []
for c in r:
data.append(c.value)
case_data = dict(zip(title, data))
cases.append(case_data)
print(cases)