python技巧分享Excel創(chuàng)建和修改
openpyxl是一個讀寫Excel文檔的Python庫,能夠同時讀取和修改Excel文檔。
openpyxl是一個開源項目,因此在使用之前需要先進行安裝:
pip install openpyxl
openxpyxl中有三個不同層次的類,分別是Workbook、Worksheet和Cello。Workbook是對Excel工作簿的抽象,Worksheet是對表格的抽象,Cell是對單元格的抽象。每一個類都包含了若干屬性和方法,以便于我們通過這些屬性和方法獲取表格中的數(shù)據(jù)。一個Workbook對象代表一個Excel文檔,因此在操作一個Excel之前,應(yīng)該先創(chuàng)建一個Workbook對象。對于創(chuàng)建一個新的Excel文檔,直接進行Workbook類調(diào)用即可。對于讀取一個已有的Excel文檔,可以使用openxpyxl模塊的load_workbook函數(shù)。該函數(shù)接受多個參數(shù),但只有filename參數(shù)為必傳參數(shù)。filenmame可以是一個文件名,也可以是一個打開的文件對象。
Workbook對象有很多的屬性和方法:
- 1、active:獲取活躍的Worksheet;
- 2、read_only:是否以read_only模式打開Excel文檔;
- 3、encoding:文檔的字符集編碼:
- 4、properties:文檔的元數(shù)據(jù),如標題,創(chuàng)建者,創(chuàng)建日期等;
- 5、worksheets:以列表的形式返回所有的Worksheet。
Workbook對象的方法:
- 1、get_sheet_names:獲取所有表格的名稱;
- 2、get_sheet_by_name:通過表格名稱獲取Worksheet對象;
- 3、get_active_sheet:獲取活躍的表格;
- 4、remove_sheet:刪除一個表格;
- 5、create_sheet:創(chuàng)建一個空的表格;
- 6、copy_worksheet:在Workbook內(nèi)拷貝表格。
常用的Worksheet屬性:
- 1、title:表格的標題;
- 2、dimensions表格的大小,這里的大小是指有含有數(shù)據(jù)的表格大小。
- 3、max_row表格的最大行;
- 4、min_row表格的最小行;
- 5、max_column表格的最大列;
- 6、min_column表格的最小列;
- 7、rows按行獲取單元格(Cell對象);
- 8、columns按列獲取單元格(Cell 對象);
- 9、freeze_panes凍結(jié)窗格;
- 10、values按行獲取表格的(數(shù)據(jù));
import openpyxl
wb = openpyxl.load_workbook('book2.xlsx')
print(wb.active)
print(wb.read_only)
print(wb.worksheets)
print(wb.get_sheet_names())
print(wb.get_active_sheet())
sheet = wb.get_sheet_by_name('Sheet1')
print(sheet.max_row)
for row in sheet.values:
? ? print(*row)創(chuàng)建和修改excel:
from openpyxl import Workbook
wb = Workbook() #默認創(chuàng)建一個sheet
sheet = wb.active
sheet.title = 'test1'
sheet0 = wb.create_sheet(index=0, title="test0") #又創(chuàng)建一個sheet,并且放到第一位
sheet0['A1'] = '姓名'
sheet0['A2'] = 'ok'
wb.save('abc.xlsx')如果文件已經(jīng)存在,會刪除文件重新建立。
例子:求RECORD這一列值的合計,并寫入下最后一行

import openpyxl
wb = openpyxl.load_workbook('test.xlsx') #打開文件
sheet = wb.get_sheet_by_name('Sheet1') #獲取第一個sheet
sum = 0.00
for row in range(2,sheet.max_row+1): #從第二行到最后一行
? ? scores = sheet.cell(row,column=3).value #獲取第三列
? ? sum = sum + scores
sheet.cell(column=3, row=sheet.max_row+1, value=sum) #最后一行賦值
wb.save('test.xlsx')到此這篇關(guān)于python技巧分享Excel創(chuàng)建和修改的文章就介紹到這了,更多相關(guān)Excel創(chuàng)建和修改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記
這篇文章主要介紹了使用PyInstaller將python轉(zhuǎn)成可執(zhí)行文件exe筆記,需要的朋友可以參考下2018-05-05
Django中如何使用celery異步發(fā)送短信驗證碼詳解
Celery是Python開發(fā)的分布式任務(wù)調(diào)度模塊,這篇文章主要給大家介紹了關(guān)于Django中如何使用celery異步發(fā)送短信驗證碼的相關(guān)資料,主要內(nèi)容包括基礎(chǔ)介紹、工作原理、完整代碼等方面,需要的朋友可以參考下2021-09-09
Python Threading 線程/互斥鎖/死鎖/GIL鎖
這篇文章主要介紹了Python Threading 線程/互斥鎖/死鎖/GIL鎖的相關(guān)知識,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
10招!看骨灰級Pythoner玩轉(zhuǎn)Python的方法
這篇文章主要介紹了10招!看骨灰級Pythoner如何玩轉(zhuǎn)Python,需要的朋友可以參考下2019-04-04

