国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python操作excel的方法

2020-01-04 14:42:15
字體:
供稿:網(wǎng)友

摘要:

Openpyxl是一個(gè)常用的python庫,用于對(duì)Excel的常用格式及其模板進(jìn)行數(shù)據(jù)讀寫等操作。

簡(jiǎn)介與安裝openpyxl庫

Openpyxl is a Python library for reading and writing Excel 2010 xlsx/xlsm/xltx/xltm files.

安裝

pip install openpyxl

pillow:在文件中需要使用images (jpeg, png, bmp,...)時(shí),需要安裝pillow庫。

注意:寫操作時(shí)請(qǐng)關(guān)閉需要操作的excel文件,否則寫不成功

加載xlsx操作內(nèi)容

加載外部excel的xlsx步驟:

加載xlsx文件,獲得該文件的句柄,為workbook

from openpyxl import load_workbookwb2 = load_workbook('test.xlsx')print wb2.get_sheet_names()# ['Sheet2', 'New Title', 'Sheet1']

在內(nèi)存中新建workbook

創(chuàng)建 workbook

開始使用openpyxl,沒有必要在文件系統(tǒng)上創(chuàng)建一個(gè)文件。

只需要導(dǎo)入Workbook類并開始使用它。可以把wordbook想象成一個(gè)excel文件。

from openpyxl import Workbookwb = Workbook()workbook創(chuàng)建后至少至少要?jiǎng)?chuàng)建一個(gè)worksheet。使用 openpyxl.workbook.Workbook.active()ws = wb.active

該方法使用了_active_sheet_index屬性, 默認(rèn)會(huì)設(shè)置0

創(chuàng)建worksheet

使用 openpyxl.workbook.Workbook.create_sheet() 創(chuàng)建新的worksheet

ws1 = wb.create_sheet("new_sheet_1") # 新建sheet,插入到最后(默認(rèn))ws2 = wb.create_sheet("new_sheet_2", 0) # 插入到最開始的位置

指定worksheet的名稱

不指定sheet名稱時(shí),按照sheet,sheet1,sheet2自動(dòng)增長(zhǎng)

ws3 = wb.create_sheet()

自定義worksheet名稱,通過title屬性指定名稱,設(shè)置了sheet的名稱

ws3.title = "new_sheet_3"

輸出wb現(xiàn)在所有的sheetname查看

通過 openpyxl.workbook.Workbook.sheetnames() 輸出wb現(xiàn)在所有的sheetname

print wb.get_sheet_names()print(wb.sheetnames)

循環(huán)

for sheet in wb:print(sheet.title)

指定worksheet tab按鈕的顏色

新建的sheet tab顏色為白色,可以另外指定sheet tab按鈕的顏色

ws3.sheet_properties.tabColor = "1072BA"

激活某個(gè)worksheet

通過worksheet名稱激活某個(gè)sheet使用

名稱看成workbook中的一個(gè)key

ws3 = wb["new_sheet_3"]

通過 _active_sheet_index 激活某個(gè)sheet使用

wb._active_sheet_index = 1 # 獲取第二個(gè)sheet

創(chuàng)建worksheet副本

使用 openpyxl.workbook.Workbook.copy_worksheet() 創(chuàng)建worksheet副本

source = wb.activetarget = wb.copy_worksheet(source)

只能復(fù)制cell和style。不能復(fù)制工作表之間的工作簿。

操作單元格

當(dāng)worksheet在內(nèi)存中被創(chuàng)建時(shí),是沒有包含cells的,cells是在首次訪問時(shí)創(chuàng)建

單元格可以看作是worksheet的key,通過key去訪問單元格中的數(shù)據(jù)

c = ws['A3'] # 訪問單元格,不存在則會(huì)自動(dòng)創(chuàng)建一個(gè)print c.valuews['A4'] = 'a4 value' # 指定單元格的值print ws['A4'].valued = ws.cell(row=4, column=2, value='通過cell指定') # 通過row column數(shù)字指定print d.value

循環(huán)在內(nèi)存中創(chuàng)建cells

不用指定其值也可以在內(nèi)存中創(chuàng)建

for i in range(1, 10):for j in range(1, 10):ws.cell(row=i, column=j)

通過切片Ranges指定許多cells

cell_range = ws['A1':'C2']

也可以Ranges rows 或者columns

print ws['C']print ws['C:D']print ws[10]print ws[5:10]

也可以使用iter_rows() 指定行->行,截止列

for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):for c in row:print(c)iter_cols() 指定列->列,截止行for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):for c in row:print(c)

遍歷所有文件的行或列

ws['C9'] = 'hello world'tuple(ws.rows) # 轉(zhuǎn)化成tuple方便for in操作tuple(ws.columns)

保存文件

wb = Workbook()wb.save("assets/sample.xlsx")

此操作將覆蓋現(xiàn)有的文件沒有警告。

所有的操作都需要保存到excel才能看見

保存為模板

指定屬性 as_template=True ,就可以將文檔保存為模板.xltx

wb = load_workbook('document.xlsx')wb.template = Truewb.save('document_template.xltx')

或者將該屬性設(shè)置為False(默認(rèn)),另存為一個(gè)文檔:

wb = load_workbook('document_template.xltx')wb.template = Falsewb.save('document.xlsx', as_template=False)

使用公式

wb = load/_workbook/('assets/sample.xlsx'/)ws = wb.activews/["A5"/] = "=SUM/(2, 1/)"wb.save/("assets/sample.xlsx"/)

總結(jié)

以上所述是小編給大家介紹的python操作excel的方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VEVB武林網(wǎng)網(wǎng)站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到python教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 晋中市| 锦州市| 吉首市| 高阳县| 马关县| 海林市| 长寿区| 张家港市| 昆山市| 安顺市| 罗平县| 婺源县| 金门县| 河源市| 霍林郭勒市| 都安| 镇江市| 志丹县| 陆丰市| 上栗县| 龙游县| 阿克苏市| 措美县| 石棉县| 余姚市| 宣汉县| 鸡西市| 龙口市| 疏附县| 龙南县| 绵竹市| 温宿县| 富蕴县| 政和县| 方山县| 黄龙县| 高阳县| 吉安县| 威海市| 确山县| 略阳县|