Python處理Excel文檔之openpyxl

****openpyxl簡(jiǎn)介****
還是簡(jiǎn)單一句:顧名思義,openpyxl就是一個(gè)處理excel文檔的一個(gè)python庫(kù)。


****openpyxl信息****
openpyxl地址傳送
openpyxl依賴jdcal以及et_xmlfile依賴庫(kù)
jdcal地址
et_xmlfile地址


****openpyxl安裝****

#pip安裝
sudo pip install openpyxl
#源碼編譯
python setup.py install

對(duì)于如何使用pip安裝傳送pip教程,源碼編譯安裝呢,下載路徑已經(jīng)在上面了
每次編輯到關(guān)于安裝的好浪費(fèi)時(shí)間,but~~


創(chuàng)建一個(gè)工作簿

wb = workbook()

加載已存在excel文件

filePath = "/data/alic/demo.xlsx"
wb = load_workbook(filename=filePath)

選中sheet

# 選擇默認(rèn)的sheet
ws = wb.active

# 通過(guò)索引加載sheet index從0開始
ws = wb.worksheets[index]

# 通過(guò)sheet名加載 感覺(jué)有問(wèn)題,中文?
ws = wb.get_sheet_by_name()
# 這個(gè)沒(méi)有問(wèn)題
ws = wb["name"]

創(chuàng)建sheet

#默認(rèn)插在工作簿末尾
ws = wb.create_sheet() 
# or
# 插入在工作簿的指定位置位置 index從0開始
ws = wb.create_sheet(index) 

更改sheet的名字

# 新建默認(rèn)的話 sheet0 sheet1 ...
ws.title = "hello"

獲取sheet的名稱

sheet_name = wb.get_sheet_names()
print sheet_name
# or
for sheet in wb:
    print sheet.title

單元格操作

# 獲取一個(gè)單元格的value
value = ws['B2']
# or
value = ws.cell('B2')
# or 非常推薦 遍歷都很方便
value = ws.cell(row=1,column=2)

#獲取多個(gè)單元格
cells = ws['A1':'E4']

#為一個(gè)單元格賦值
 ws['B2'] = "alic"
# or
ws.cell('B2') = "hello"
# or 非常推薦 遍歷都很方便
ws.cell(row=1,column=2) = "value"

# 遍歷多個(gè)單元格
for row in ws.iter_rows('A1:D2'):
      for cell in row: 
            print cell

獲取當(dāng)前工作表的已有數(shù)據(jù)的對(duì)象

# 所有行
ws.rows

# 所有列
ws.columns

獲取當(dāng)前工作表的數(shù)據(jù)長(zhǎng)度與寬度

row_length = len(ws.rows)
cloumn_length = len(ws.columns)
# 推薦 centOS上面的會(huì)報(bào)錯(cuò)
row-length = len(list(ws.rows))
cloumn_length = len(list(ws.rows))


保存文件

# 注意要是加載進(jìn)來(lái)的路徑與保存的路徑一致文件將會(huì)被覆蓋
wb.save(path)

# 也可以將文件作為模板保存  as_template默認(rèn)為False
wb.save('document_template.xltx', as_template=True)

簡(jiǎn)單的樣式處理

# 文本對(duì)齊方式
align = Alignment(horizontal='center', vertical='center')
ws.cell(row=deng_lu_taskRow, column=index + 3).alignment = align

# 字體大小
font = Font(size=10)
ws.cell(row=taskRow, column=column).font = font

具體樣式Click


****價(jià)值源于技術(shù),貢獻(xiàn)源于分享****

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容