最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用openpyxl自動化實現(xiàn)Excel排版與讀寫

 更新時間:2026年04月28日 08:23:00   作者:小莊-Python辦公  
本文主要介紹了使用Python的openpyxl庫操作Excel文件的方法,包括讀取,修改文件,設(shè)置單元格的字體,對齊方式,背景填充色和邊框等,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下

在第一節(jié)課中,我們體驗了如何用Python快速創(chuàng)建一個Excel文件。但在實際工作中,我們往往需要對已有的Excel文件進行讀取、修改,甚至要設(shè)置漂亮的格式(加粗、標紅、加邊框等)。

本節(jié)課,我們將深入學(xué)習(xí) openpyxl 庫,幫你徹底搞定Excel的基礎(chǔ)讀寫與排版操作!

1. 核心概念理解

在使用openpyxl時,必須掌握三個核心概念,它們的層級關(guān)系如下:

  • Workbook (工作簿):代表整個Excel文件。
  • Worksheet (工作表):代表Excel文件中的一個Sheet頁。
  • Cell (單元格):代表Sheet頁中的某一個小格子(如A1, B2)。

操作Excel的基本流程:打開Workbook -> 選擇Worksheet -> 操作Cell -> 保存Workbook。

2. 讀取與修改已有Excel文件

假設(shè)我們有一個名為 data.xlsx 的文件,里面有一張“成績表”。

import openpyxl

# 1. 加載已存在的Excel文件
wb = openpyxl.load_workbook("data.xlsx")

# 2. 獲取工作表
# 獲取所有sheet的名字: print(wb.sheetnames)
sheet = wb["成績表"]

# 3. 讀取單元格的值
cell_val = sheet["B2"].value
print(f"B2單元格的值是: {cell_val}")

# 4. 修改單元格的值
sheet["C2"] = 98

# 5. 遍歷多行數(shù)據(jù)
for row in sheet.iter_rows(min_row=2, max_row=5, min_col=1, max_col=3, values_only=True):
    print(row) # 輸出每一行的數(shù)據(jù)元組

# 6. 保存修改(注意:如果在打開狀態(tài)下保存會報錯,請先關(guān)閉Excel軟件)
wb.save("data_modified.xlsx")

3. 單元格格式大改造

給領(lǐng)導(dǎo)看的報表,格式必須清晰美觀。openpyxl提供了 styles 模塊來處理格式。

3.1 設(shè)置字體 (Font)

from openpyxl.styles import Font

# 設(shè)置字體為微軟雅黑,大小14,加粗,紅色
custom_font = Font(name="微軟雅黑", size=14, bold=True, color="FF0000")
sheet["A1"].font = custom_font

3.2 設(shè)置對齊方式 (Alignment)

from openpyxl.styles import Alignment

# 設(shè)置水平居中、垂直居中
align = Alignment(horizontal="center", vertical="center")
sheet["A1"].alignment = align

3.3 設(shè)置背景填充色 (PatternFill)

from openpyxl.styles import PatternFill

# 設(shè)置背景色為純色填充,黃色 (Hex顏色代碼)
fill = PatternFill(fill_type="solid", start_color="FFFF00")
sheet["A1"].fill = fill

3.4 設(shè)置邊框 (Border)

from openpyxl.styles import Border, Side

# 定義細邊框線條
thin_line = Side(border_style="thin", color="000000")

# 設(shè)置上下左右四個邊框
border = Border(left=thin_line, right=thin_line, top=thin_line, bottom=thin_line)
sheet["A1"].border = border

4. 調(diào)整行高與列寬

有時候數(shù)據(jù)太長顯示為 ###,我們需要用代碼自動調(diào)整寬高:

# 設(shè)置第一行的行高為 30
sheet.row_dimensions[1].height = 30

# 設(shè)置A列的列寬為 20
sheet.column_dimensions["A"].width = 20

5. 小結(jié)

這節(jié)課我們掌握了 openpyxl 的核心技能,從文件的加載、數(shù)據(jù)的讀寫,到字體、對齊、背景、邊框的全面美化。利用這些功能,你已經(jīng)可以寫出一個自動給日報/周報排版格式的腳本了。

但如果你有10萬條數(shù)據(jù)需要篩選、統(tǒng)計,openpyxl的速度可能會有點慢。下一節(jié)課,我們將引入真正的數(shù)據(jù)處理大殺器 —— pandas!敬請期待。

到此這篇關(guān)于Python使用openpyxl自動化實現(xiàn)Excel排版與讀寫的文章就介紹到這了,更多相關(guān)Python openpyxl Excel排版與讀寫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用Alembic遷移數(shù)據(jù)庫

    Python使用Alembic遷移數(shù)據(jù)庫

    本文主要介紹了Python使用Alembic遷移數(shù)據(jù)庫,它能幫助開發(fā)者有效地管理數(shù)據(jù)庫結(jié)構(gòu)變更,確保版本控制和可回滾特性,感興趣的可以了解一下
    2026-04-04
  • 排查?“Python?版本與?NumPy?不匹配”適配版本對照表與安裝方法詳解

    排查?“Python?版本與?NumPy?不匹配”適配版本對照表與安裝方法詳解

    NumPy庫有許多版本,每個版本都有不同的功能和改進,這篇文章主要介紹了排查?“Python?版本與?NumPy?不匹配”適配版本對照表與安裝方法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-12-12
  • PythonPC客戶端自動化實現(xiàn)原理(pywinauto)

    PythonPC客戶端自動化實現(xiàn)原理(pywinauto)

    這篇文章主要介紹了Python基于pywinauto實現(xiàn)PC客戶端自動化,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • 淺談pytorch中的dropout的概率p

    淺談pytorch中的dropout的概率p

    這篇文章主要介紹了淺談pytorch中的dropout的概率p,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • 使用Python實現(xiàn)一鍵往Word文檔的表格中填寫數(shù)據(jù)

    使用Python實現(xiàn)一鍵往Word文檔的表格中填寫數(shù)據(jù)

    在工作中,我們經(jīng)常遇到將Excel表中的部分信息填寫到Word文檔的對應(yīng)表格中,以生成報告,方便打印,所以本文小編就給大家介紹了如何使用Python實現(xiàn)一鍵往Word文檔的表格中填寫數(shù)據(jù),文中有詳細的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • Python對象的生命周期源碼學(xué)習(xí)

    Python對象的生命周期源碼學(xué)習(xí)

    這篇文章主要為大家介紹了Python對象的生命周期源碼學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • Python繪制數(shù)碼晶體管日期

    Python繪制數(shù)碼晶體管日期

    這篇文章主要為大家詳細介紹了Python繪制數(shù)碼晶體管日期,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • 如何使用Django Admin管理后臺導(dǎo)入CSV

    如何使用Django Admin管理后臺導(dǎo)入CSV

    這篇文章主要介紹了如何使用Django Admin管理后臺導(dǎo)入CSV,幫助大家更好的理解和使用django框架,感興趣的朋友可以了解下
    2020-11-11
  • 一個可以套路別人的python小程序?qū)嵗a

    一個可以套路別人的python小程序?qū)嵗a

    本文通過一段實例代碼給大家分享一個可以套路別人的python小程序,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • python實現(xiàn)批量命名照片

    python實現(xiàn)批量命名照片

    這篇文章主要為大家詳細介紹了python實現(xiàn)批量命名照片,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06

最新評論

通河县| 夹江县| 灵台县| 景德镇市| 宣武区| 积石山| 岳阳县| 澄江县| 岑巩县| 南开区| 娱乐| 灵寿县| 和顺县| 图木舒克市| 洞头县| 星座| 合江县| 铜陵市| 宜兴市| 五家渠市| 北流市| 兴化市| 铜川市| 广丰县| 深州市| 清丰县| 桃园县| 黄梅县| 东至县| 商南县| 西乌珠穆沁旗| 鄂州市| 大安市| 忻城县| 吐鲁番市| 安乡县| 长顺县| 连南| 太和县| 新田县| 小金县|