欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用Openpyxl操作Excel文件的實現(xiàn)

 更新時間:2025年04月29日 10:04:06   作者:但老師  
openpyxl 是一個用于在 Python 中讀取和寫入 Excel 文件的優(yōu)秀庫,本文主要介紹了python使用Openpyxl操作Excel文件的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下

openpyxl 是一個用于在 Python 中讀取和寫入 Excel 文件的優(yōu)秀庫。
它支持 .xlsx 和 .xlsm 格式,非常適合在 Ubuntu 系統(tǒng)上進(jìn)行 Excel 數(shù)據(jù)處理和自動化操作。
本篇博客將介紹一些常用的 openpyxl 命令。

安裝

安裝Python3

首先,你需要安裝 openpyxl 和 Python。在 Ubuntu 上,可以通過以下命令安裝:

sudo apt install python3

安裝 openpyxl

pip3 install openpyxl

基礎(chǔ)操作

1. 引入

from openpyxl import Workbook # 新建文件的引入
from openpyxl import load_workbook # 加載已存在文件的引入

2. 創(chuàng)建工作簿和工作表

wb = Workbook() # 創(chuàng)建一個新的工作簿
ws = wb.active # 獲取活動工作表

wb.create_sheet("Sheet2") # 創(chuàng)建一個新的工作表并命名
ws.title = "NewSheet" # 修改工作表名

3. 寫入數(shù)據(jù)

ws['A1'] = 'Hello, World!'
ws['B1'] = 42
ws['C1'] = 3.14
cell = ws.cell(row=1, column=1, value="New Value")

4. 保存工作簿

wb.save('example.xlsx')

5. 加載已存在的Excel

wb = load_workbook('example.xlsx')
ws = wb.active

6. 讀取單元格的值

cell_a1 = ws['A1'].value
cell_b1 = ws['B1'].value
cell_c1 = ws['C1'].value

print(f"A1: {cell_a1}, B1: {cell_b1}, C1: {cell_c1}")

7. 選擇工作表

ws1 = wb.worksheets[0] # 通過索引選擇工作表
ws2 = wb["Sheet2"] # 通過名稱選擇工作表

樣式和格式化

1. 引入

from openpyxl.styles import Font, Alignment # 樣式操作的引入

2. 設(shè)置字體

font = Font(name='Arial', size=14, bold=True, italic=False)
ws['A1'].font = font

3. 設(shè)置邊框

border = Border(left=Side(border_style='thin'),
                right=Side(border_style='thin'),
                top=Side(border_style='thin'),
                bottom=Side(border_style='thin'))
ws['A1'].border = border

4. 填充

fill = PatternFill(start_color="FF0000", end_color="FF0000", fill_type="solid")
ws['A1'].fill = fill

5. 設(shè)置數(shù)字格式

ws['B1'].number_format = '0.00%'   # 百分比格式
ws['C1'].number_format = 'YYYY-MM-DD'  # 日期格式

6. 數(shù)據(jù)驗證

from openpyxl.worksheet.datavalidation import DataValidation

dv = DataValidation(type="list", formula1='"Apple,Banana,Cherry"', allow_blank=True) # 創(chuàng)建數(shù)據(jù)驗證對象

ws.add_data_validation(dv) 
dv.add('A1') # 將數(shù)據(jù)驗證應(yīng)用到單元格

7. 公式操作

可以在單元格中插入公式:

ws['D1'] = "=SUM(A1:A3)"

性能優(yōu)化

1. read_only/write_only

對于大的 Excel 文件,可以使用read_only來提高讀取效率, 使用 write_only 來優(yōu)化寫入性能

from openpyxl import load_workbook

wb = load_workbook('example.xlsx', read_only=True) # 使用只讀模式加載工作簿
from openpyxl import Workbook

wb = Workbook(write_only=True) # 使用寫入模式創(chuàng)建工作簿
ws = wb.create_sheet()

2. 遍歷單元格

可以使用 .rows 和 .columns 遍歷工作表中的行和列:

for row in ws.iter_rows(min_row=1, max_row=5, min_col=1, max_col=3):
    for cell in row:
        print(cell.value, end=" ")

到此這篇關(guān)于python使用Openpyxl操作Excel文件的實現(xiàn)的文章就介紹到這了,更多相關(guān)python Openpyxl操作Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • python中np.zeros_like函數(shù)用法詳解

    python中np.zeros_like函數(shù)用法詳解

    這篇文章主要介紹了python中np.zeros_like函數(shù)用法的相關(guān)資料,np.zeros_like是?NumPy?庫中的一個函數(shù),用于創(chuàng)建一個與給定數(shù)組形狀和類型相同的新數(shù)組,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • python隊列基本操作和多線程隊列

    python隊列基本操作和多線程隊列

    pythonQueue隊列模塊提供了同步線程安全的隊列類,包括FIFO(先入先出)隊列Queue,LIFO(后入先出)隊列LifoQueue,和優(yōu)先級隊列PriorityQueue,這些隊列都實現(xiàn)了鎖原語,能夠在多線程中直接使用,可以使用隊列來實現(xiàn)線程間的同步,下面我們就來看看python隊列基本操作吧
    2022-02-02
  • 用Python實現(xiàn)協(xié)同過濾的教程

    用Python實現(xiàn)協(xié)同過濾的教程

    這篇文章主要介紹了用Python實現(xiàn)協(xié)同過濾的教程,主要用于從大數(shù)據(jù)中抽取用戶信息偏好等等,需要的朋友可以參考下
    2015-04-04
  • Python光學(xué)仿真學(xué)習(xí)Gauss高斯光束在空間中的分布

    Python光學(xué)仿真學(xué)習(xí)Gauss高斯光束在空間中的分布

    這篇文章主要介紹了Python光學(xué)仿真學(xué)習(xí)中Gauss高斯光束在空間中的分布理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2021-10-10
  • 解決使用Pandas 讀取超過65536行的Excel文件問題

    解決使用Pandas 讀取超過65536行的Excel文件問題

    這篇文章主要介紹了解決使用Pandas 讀取超過65536行的Excel文件問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • CentOS系統(tǒng)Python卸載攻略大揭秘

    CentOS系統(tǒng)Python卸載攻略大揭秘

    想要徹底卸載?CentOS?上的?Python?嗎?不用擔(dān)心,我們來幫你搞定!本指南將教你如何在?CentOS?系統(tǒng)上完全清理?Python,讓你的系統(tǒng)煥然一新,跟著我們的步驟,讓你的系統(tǒng)煥然一新吧!
    2023-11-11
  • 如何利用AJAX獲取Django后端數(shù)據(jù)詳解

    如何利用AJAX獲取Django后端數(shù)據(jù)詳解

    ajax一個前后臺配合的技術(shù),它可以讓javascript發(fā)送http請求,與后臺通信,獲取數(shù)據(jù)和信息。下面這篇文章主要介紹了如何利用AJAX獲取Django后端數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • Python使用concurrent.futures模塊實現(xiàn)多進(jìn)程多線程編程

    Python使用concurrent.futures模塊實現(xiàn)多進(jìn)程多線程編程

    Python的concurrent.futures模塊可以很方便的實現(xiàn)多進(jìn)程、多線程運行,減少了多進(jìn)程帶來的的同步和共享數(shù)據(jù)問題,下面就跟隨小編一起了解一下concurrent.futures模塊的具體使用吧
    2023-12-12
  • pytest實現(xiàn)測試用例參數(shù)化

    pytest實現(xiàn)測試用例參數(shù)化

    這篇文章主要介紹了pytest實現(xiàn)測試用例參數(shù)化,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 利用Python還原方陣游戲詳解

    利用Python還原方陣游戲詳解

    這篇文章的靈感來源于我玩游戲的時候,看見一個大佬在游戲里面建造了“還原方陣游戲”,就感覺很牛掰,就想著python不是有矩陣嗎,可以還原一下呢,感興趣的小伙伴可以了解一下
    2023-01-01

最新評論