1. 程式人生 > >python中openpyxl模組學習知識點(一)

python中openpyxl模組學習知識點(一)

#匯入第三方模組 openpyxl,沒有的話先以管理員身份安裝pip install openpyxl
import openpyxl,os
from openpyxl.utils import get_column_letter,column_index_from_string
#如果Excel檔案不再工作目錄下,可以修改工作目錄
#print(os.getcwd())
#os.chdir('C:\\Users\\Nick\\Desktop\\python\\drawing\\2\\')

#或者寫全路徑
wb = openpyxl.load_workbook('C:\\Users\\Nick\\Desktop\\python\\drawing\\2\\pythonExcel.xlsx')#返回一個workbook資料型別的值,這個workbook物件就代表Excel檔案

otherSheet = wb.get_active_sheet()

        

"""
#每一個表都有一個Worksheet物件表示
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
>>> wb.get_sheet_names()#獲取開啟Excel檔案中各個表的名稱
['問題表', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('問題表')#可以單獨傳遞表明稱獲取表
>>> sheet
<Worksheet "問題表">
>>> type(sheet)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'問題表'
>>> otherSheet = wb.get_active_sheet()#獲取當前工作表
<Worksheet "問題表">
>>> otherSheet['A2']#返回的是Cell物件
<Cell '問題表'.A2>
#從表單中獲取單元格

#有了Worksheet物件後,就可以按名字訪問Cell物件

#Cell物件有一個alue屬性,不出意外,它包含這個單元格中儲存的值,Cell物件也有row(行),column(列)和coordinate(列行)屬性,提供這個單元格的位置資訊

#再呼叫表的cell()方法時,可以傳入整數作為row(行),column(列)關鍵字引數,也可以得到一個單元格第一行和第一列的整數是1,而不是0

>>> otherSheet['A2'].value
'序號'
>>> biao = otherSheet['B3'].value
>>> biao
'首頁:商鋪、寫字樓圖示更換'
>>> biao1 = otherSheet['B3']
>>> biao1.value
'首頁:商鋪、寫字樓圖示更換'
>>> 'Row:'+str(biao1.row)+',column:'+ biao1.column + 'is'+ biao1.value
'Row:3,column:Bis首頁:商鋪、寫字樓圖示更換'
>>> 'Cell: '+ biao1.coordinate + ' is ' + biao1.value
'Cell: B3 is 首頁:商鋪、寫字樓圖示更換'


列字母和數字之間的轉換
要從字母轉換到數字,就需要呼叫openpyxl.utils.column_index_from_string()函式

要從數字轉換到字母,就需要呼叫openpyxl.utils.get_column_letter()函式
>>> from openpyxl.utils import get_column_letter,column_index_from_string
>>> column_index_from_string('A')
1
>>> get_column_letter(1)
'A'




#從表單中取得行和列

可以將Worksheet物件切片,取得電子表格中的一行,一列或一個矩形區域中的所有Cell物件,然後可以迴圈遍歷這個切片中的所有單元格
"""
type(otherSheet['A1':'F16'])

for rowOfCellObjects in otherSheet['A1':'F16']:
    for cellObj in rowOfCellObjects:
        print(cellObj.coordinate,cellObj.value)
    print("---END OF ROW---"



"""
 工作簿   ——> 工作表   ——> 單元格   過程
 
1、匯入openpyxl模組
2、呼叫openpyxl.load_workbook()函式
3、取得Workbook物件
4、呼叫get_active_sheet()或get_sheet_by_name()工作簿方法
5、取得Worksheet物件
6、使用索引或者工作表的Cell()方法,帶上row和column引數
7、取得Cell物件
8、讀取Cell物件的value屬性

"""