openpyxl做爲excel衆多的一員,具備簡單易用,功能普遍的特色。python
環境:app
win 10ide
python 3.6學習
pip 9.0.1spa
openpyxl 2.4.8
命令行
安裝openpyxlexcel
打開cmd命令行,輸入pip install openpyxl,回車執行命令。htm
學習blog
建立excel文件(Create a workbook)排序
首先導入openpyxl庫中的Workbook
from openpyxl import Workbook wb = Workbook()
建立worksheet(Create sheet)
ws = wb.create_sheet(title='math',index=0)
參數說明:
title,定義sheet名稱;
index,定義新建sheet的排序位置。該參數省略時,新建的sheet添加到最後。
訪問單元格(Accessing one cell)
#method1 ws['A4'] = 4 #method2 d = ws.cell(row=4, column=2, value=10)
訪問單元格的方法同excel,使用A1,B12的方法便可
訪問單元塊(Accessing many cells)
#method1 cell_range = ws['A1':'D2'] #method2 ws.iter_rows(min_row=1,max_row=3, min_col=2,max_col=3) #選定A1:C3的單元塊
數據存儲(data storage)
c = ws['A12'] c.value = 'hellos'
保存文件(save file)
wb.save('balances.xlsx')
加載文件
from openpyxl import load_workbook wb = load_workbook('..\\..\\file\\math.xlsx') print(wb.get_sheet_names())
學以至用
from openpyxl import Workbook #新建一個workboot wb = Workbook() #建立一個sheet,sheetname是math,放在第一個位置 ws = wb.create_sheet('math',0) m = 0 #使用訪問單元塊的方法,在遍歷的同時進行單元格的賦值 for row in ws.iter_rows(min_row=1,max_row=9,min_col=1,max_col=9): #for row in ws['A11':'I19']: m=m+1 n = 0 for cell in row: n=n+1 cell.value=m*n wb.save('..\\..\\file\\math.xlsx')
使用訪問單元塊的方法,實現99乘法表,執行的結果以下:
參考資料
https://openpyxl.readthedocs.io/en/latest/tutorial.htm
補充說明
在查看資料時,還發現了一篇文章,比較了多種excel庫,很好的文章,留看。
http://www.jianshu.com/p/be1ed0c5218e