python openpyxl模組實現excel的讀取,新表建立及原資料表追加新資料
阿新 • • 發佈:2018-12-22
當實際工作需要把excel表的資料讀取出來,或者把一些統計資料寫入excel表中時,一個設計豐富,文件便於尋找的模組就會顯得特別的有吸引力,本文對openpyxl模組的一些常見用法做一些記錄,方便工作中查詢(好記性不如爛筆頭)
author:he
qq:760863706
python:3.5
date:2018-9-14
1:安裝openpyxl
pip install openpyxl
2:excel表讀取資料(.xlsx)
import openpyxl
filepath = 'sample.xlsx'
wb = openpyxl.load_workbook(filepath)
#獲取全部表名
sheetnames = wb.sheetnames
#切換到目標資料表
#ws = wb[]
ws = wb['sheet2']
#表總行數
max_row = ws.max_row
#表總列數
max_col = ws.max_column
for x in range(1,max_row):
#獲取表中x行1列的值
cell_data = ws.cell(row=x,column=1).value
3:已存在excel表追加資料
import openpyxl
filepath = 'sample.xlsx'
wb = openpyxl.load_workbook(filepath)
#切換到目標資料表
#ws = wb[]
ws = wb['sheet2' ]
#待填充資料
data = [[1,2,3],[4,5,6]]
for x in data:
ws.append(x)
savename = 'update_excel.xlsx'
wb.save(savename)
4:建立新excel表
import openpyxl
filepath = 'new_excel.xlsx'
wb = openpyxl.Workbook()
#預設表sheet1
ws1 = wb.active
#更改表名
ws1.title = 'new_sheet_name'
#建立sheet2表
ws2 = wb.create_sheet('sheet2' )
ws1.cell(row=1,column=1,value='sheet1表1行1列的值').value
ws2.cell(row=2,column=2,value='sheet2表2行2列的值').value
wb.save(filepath)