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

Python中處理Excel的5個神仙庫的使用指南

 更新時間:2025年11月08日 11:42:13   作者:程序員晚楓  
Python里藏著5個處理Excel的“神仙庫”——從基礎(chǔ)讀寫、批量分析到格式美化,全場景覆蓋,直接幫你省出2小時摸魚時間,下面小編就為大家逐個拆解

還在手動錄入Excel到深夜?百份表格批量改格式改到手腕發(fā)酸?跨表核對數(shù)據(jù)反復出錯返工?打工人別硬扛了!Python里藏著5個處理Excel的“神仙庫”——從基礎(chǔ)讀寫、批量分析到格式美化,全場景覆蓋,直接幫你省出2小時摸魚時間!下面逐個拆解,按需撿走~

一、openpyxl:.xlsx處理的“入門首選”

openpyxl是Python處理Excel 2010+版本(.xlsx/.xlsm)的“入門界頂流”——純Python開發(fā),Windows、Mac、Linux都能用,API設(shè)計得清爽不繞彎,官方文檔還帶詳細示例。新手花半小時跟著示例敲代碼,就能搞定基礎(chǔ)操作,日常辦公的讀寫、改格式需求基本都能cover。

核心功能

基礎(chǔ)操作全拿捏:創(chuàng)建/打開工作簿、工作表;輕松搞定單元格數(shù)據(jù)的讀寫和修改;字體(加粗、變色、調(diào)字號)、對齊方式、邊框、背景色這些格式隨便改;合并單元格、凍結(jié)窗格也能實現(xiàn);還支持“讀寫模式優(yōu)化”,打開大文件不卡頓。

優(yōu)缺點

優(yōu)點很實在:免費開源不花錢,跨平臺不用挑電腦,新手看示例就會用,還不用裝Microsoft Excel;優(yōu)化后能扛大文件,處理幾MB的表格也不卡。缺點也得提:只認.xlsx系列格式,老掉牙的.xls文件打不開;想做復雜圖表的話,它就有點力不從心了。

適用場景

日常辦公直接用:比如給程序員晚楓的員工信息表統(tǒng)一加表頭顏色、加粗標題;批量更新表格里的固定字段(像全公司部門調(diào)整,一鍵改完);或者簡單讀寫.xlsx文件,替代手動復制粘貼。

安裝與示例

安裝超簡單,命令行敲一行:pip install openpyxl

給新手整個“創(chuàng)建帶格式表格”的實用示例,復制就能跑:

from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill

# 新建工作簿和工作表
wb = Workbook()
ws = wb.active
ws.title = "程序員晚楓的員工信息表"  # 給工作表改個名

# 寫表頭+加樣式(加粗白字+藍色背景)
headers = ["姓名", "部門", "入職日期"]
for col, header in enumerate(headers, 1):
    cell = ws.cell(row=1, column=col, value=header)
    cell.font = Font(bold=True, color="FFFFFF")  # 加粗白字
    cell.fill = PatternFill(start_color="4472C4", fill_type="solid")  # 藍色背景

# 寫數(shù)據(jù)
data = [["張三", "研發(fā)部", "2025-01-15"], ["李四", "市場部", "2025-02-20"]]
for row, row_data in enumerate(data, 2):  # 從第2行開始寫數(shù)據(jù)
    for col, value in enumerate(row_data, 1):
        ws.cell(row=row, column=col, value=value)

# 保存文件(直接生成在當前文件夾)
wb.save("程序員晚楓的員工信息表.xlsx")

二、xlrd/xlwt:舊版.xls的“專屬搭檔”

xlrd和xlwt是處理“老古董”.xls文件的“黃金搭檔”——分工超明確:xlrd負責讀.xls數(shù)據(jù),xlwt負責寫.xls文件,再配個xlutils庫,還能改已有.xls文件,完美解決舊格式兼容問題。重點提醒:xlrd 2.0以上版本不支持.xlsx,要處理舊文件得裝1.2.0版本。

核心功能

核心能力精準匹配舊格式:xlrd能讀.xls的工作表、單元格數(shù)據(jù),還能算出行數(shù)列數(shù),按需加載工作表省內(nèi)存;xlwt能新建.xls,寫數(shù)據(jù)時加基礎(chǔ)格式(加粗、邊框),合并單元格也能用;xlutils就是“粘合劑”,讓xlrd讀的內(nèi)容能通過xlwt修改。

優(yōu)缺點

優(yōu)點就是“專”:專為.xls設(shè)計,老報表打開不亂碼,兼容性拉滿;體積小運行快,輕量不占資源。缺點也明顯:xlrd不支持新格式.xlsx,xlwt寫的文件最多只能放65536行(超了會報錯);高級格式和圖表基本做不了,只能滿足基礎(chǔ)需求。

適用場景

適配場景很明確:公司整理歷史檔案,一堆2010年前的.xls報表要提取數(shù)據(jù);批量匯總多個舊版銷售報表的關(guān)鍵數(shù)據(jù);生成不超過6萬行的舊格式報表(比如給還在用老Excel的客戶發(fā)文件)。

安裝與示例

安裝要指定xlrd版本,命令行敲:pip install xlrd==1.2.0 xlwt xlutils

最常用的“讀舊版.xls”示例,復制即用:

import xlrd

# 打開舊版.xls文件(路徑換成自己的)
workbook = xlrd.open_workbook("舊版銷售數(shù)據(jù).xls")
# 取第一個工作表(也能按名字?。簊heet_by_name("1月銷售"))
worksheet = workbook.sheet_by_index(0)

# 讀表頭(第一行)
headers = [worksheet.cell_value(0, col) for col in range(worksheet.ncols)]
print("表頭:", headers)

# 讀所有數(shù)據(jù)行(跳過表頭)
for row in range(1, worksheet.nrows):
    row_data = [worksheet.cell_value(row, col) for col in range(worksheet.ncols)]
    print(f"第{row}行數(shù)據(jù):", row_data)

三、pandas:Excel數(shù)據(jù)處理的“效率王者”

pandas雖不是專門為Excel設(shè)計的,但處理Excel批量數(shù)據(jù)的能力,堪稱辦公界的“天花板”!它能用“DataFrame”表格格式加載Excel數(shù)據(jù),篩選、排序、匯總都是秒級完成,再搭openpyxl或xlrd當“引擎”,新舊格式都能搞定。

核心功能

批量操作是強項:單份/多份Excel一鍵讀取,還能指定讀某張工作表;用DataFrame做數(shù)據(jù)篩選、去重、分組統(tǒng)計(比如按區(qū)域算銷售額),甚至補缺失值;多表合并也輕松(比如把業(yè)績表和考勤表按員工ID拼在一起);處理完的數(shù)據(jù)直接寫回Excel,還能分拆到不同工作表。

優(yōu)缺點

優(yōu)點太香了:批量數(shù)據(jù)處理速度飛起,一行代碼搞定人工幾小時的統(tǒng)計;多表合并、數(shù)據(jù)清洗這些復雜操作不用寫循環(huán);新舊格式都兼容。缺點也得接受:對Excel的格式(字體、顏色)控制很弱,想美化報表得換別的庫;新手要先學下DataFrame的基礎(chǔ)用法(不難,半小時入門)。

適用場景

辦公場景高頻用:月度銷售數(shù)據(jù)匯總(按區(qū)域、產(chǎn)品統(tǒng)計);十幾份Excel報表合并去重(比如各門店的銷售表匯總成全國表);清洗數(shù)據(jù)(刪除空行、修正錯誤格式);生成數(shù)據(jù)透 視表風格的統(tǒng)計結(jié)果(比Excel手動拖更靈活)。

安裝與示例

安裝要帶引擎(處理.xlsx用openpyxl):pip install pandas openpyxl

打工人最常用的“多表匯總”示例,超實用:

import pandas as pd

# 要匯總的Excel文件列表(換成自己的文件名)
file_names = ["1月銷售.xlsx", "2月銷售.xlsx"]
# 批量讀取所有文件并合并成一個表格
all_data = pd.concat([
    pd.read_excel(file, engine="openpyxl")  # 用openpyxl當引擎讀.xlsx
    for file in file_names
])

# 按“區(qū)域”匯總“銷售額”(表格要真有這兩列哦)
sales_summary = all_data.groupby("區(qū)域")["銷售額"].sum().reset_index()

# 寫回新Excel,分兩個工作表存
with pd.ExcelWriter("季度銷售匯總.xlsx", engine="openpyxl") as writer:
    all_data.to_excel(writer, sheet_name="原始數(shù)據(jù)", index=False)  # 存原始數(shù)據(jù)
    sales_summary.to_excel(writer, sheet_name="區(qū)域匯總", index=False)  # 存匯總結(jié)果

print("匯總完成!直接打開‘季度銷售匯總.xlsx'看結(jié)果~")

四、xlsxwriter:Excel格式美化的“顏值擔當”

xlsxwriter是Excel“顏值擔當”——雖然不能讀Excel文件,但做格式美化和圖表的能力拉滿!單元格格式、條件格式、數(shù)據(jù)驗證都能精細控制,還能做折線圖、柱狀圖這些專業(yè)圖表,生成的Excel報表堪比專業(yè)排版,拿去給老板匯報超有面。

核心功能

美化能力拉滿:字體、顏色、邊框、背景色想怎么調(diào)就怎么調(diào);條件格式超實用(比如銷售額低于5萬標紅預警);還能限制單元格輸入(比如只能填數(shù)字);生成的圖表帶標題、圖例、數(shù)據(jù)標簽,比Excel手動做的還規(guī)整;插入圖片、超鏈接也沒問題。

優(yōu)缺點

優(yōu)點就是“美且強”:格式控制精細到像素,圖表專業(yè)度高;支持內(nèi)存優(yōu)化,生成幾十MB的大報表也不崩;API清晰,看示例就會用。缺點也明確:只能新建Excel,不能讀也不能改已有文件;只認.xlsx,老格式.xls不支持。

適用場景

匯報場景必用:做月度業(yè)績報表,加個專業(yè)柱狀圖;做庫存預警表,低于安全庫存自動標紅;做公司統(tǒng)一的報銷單、申請表模板,格式固定不混亂。

安裝與示例

安裝一行命令:pip install xlsxwriter

給新手整個“帶條件格式+圖表”的匯報報表示例:

import xlsxwriter

# 新建工作簿和工作表
workbook = xlsxwriter.Workbook("業(yè)績報表.xlsx")
worksheet = workbook.add_worksheet("銷售趨勢")  # 工作表命名

# 定義樣式(表頭樣式+預警樣式)
header_style = workbook.add_format({
    "bold": True, "bg_color": "#4472C4", "font_color": "white"
})
warning_style = workbook.add_format({"font_color": "red"})  # 銷售額低標紅

# 寫表頭和數(shù)據(jù)
headers = ["月份", "銷售額(元)"]
data = [["1月", 50000], ["2月", 65000], ["3月", 48000], ["4月", 72000]]
worksheet.write_row("A1", headers, header_style)  # 寫表頭+加樣式

# 寫數(shù)據(jù),銷售額低于5萬標紅
for row, (month, sales) in enumerate(data, 1):
    worksheet.write(row, 0, month)  # 寫月份
    # 條件判斷:低于5萬加預警樣式
    if sales < 50000:
        worksheet.write(row, 1, sales, warning_style)
    else:
        worksheet.write(row, 1, sales)

# 做柱狀圖(銷售趨勢)
chart = workbook.add_chart({"type": "column"})
# 關(guān)聯(lián)數(shù)據(jù)(月份為X軸,銷售額為Y軸)
chart.add_series({
    "name": "銷售額",
    "categories": ["銷售趨勢", 1, 0, 4, 0],  # 月份數(shù)據(jù)范圍
    "values": ["銷售趨勢", 1, 1, 4, 1],      # 銷售額數(shù)據(jù)范圍
})
# 給圖表加標題和軸標簽
chart.set_title({"name": "2025年1-4月銷售趨勢"})
chart.set_x_axis({"name": "月份"})
chart.set_y_axis({"name": "銷售額(元)"})

# 插入圖表到D2位置
worksheet.insert_chart("D2", chart)

# 關(guān)閉工作簿(必寫!不然文件會損壞)
workbook.close()
print("報表生成完成!打開‘業(yè)績報表.xlsx'看效果~")

五、pywin32:Windows下的“全能操控手”

pywin32是Windows用戶的“Excel全能遙控器”——靠調(diào)用本地Microsoft Excel的COM接口干活,相當于用Python替你手動點鼠標操作Excel。所以Excel能做的事,它全能干,宏、密碼保護、高級圖表這些都不在話下,堪稱“無上限”工具。

核心功能

Excel原生功能全復刻:啟動/關(guān)閉Excel、新建/打開文件都能控制,還能讓Excel后臺偷偷運行不彈窗;.xls/.xlsx/.xlsm不管啥格式都能處理;宏能運行能錄制,帶宏的財務(wù)報表直接自動化;轉(zhuǎn)PDF精度拉滿,和手動轉(zhuǎn)的一模一樣;帶密碼的Excel文件也能處理。

優(yōu)缺點

優(yōu)點就是“全能”:Excel能做的它都能做,復雜報表、宏操作全拿下;格式轉(zhuǎn)換精度第一,投標文件這種關(guān)鍵文檔轉(zhuǎn)PDF必用;能和Word、PPT聯(lián)動(比如從Word提數(shù)據(jù)寫Excel)。缺點很明顯:僅限Windows,Mac/Linux用不了;必須裝正版Excel;后臺運行容易殘留進程,忘關(guān)會占內(nèi)存。

適用場景

復雜場景救星:處理帶宏的自動計算報表(比如財務(wù)的利潤表,改數(shù)據(jù)自動算結(jié)果);投標報價表轉(zhuǎn)PDF(要求和原表格格式完全一致);做Office聯(lián)動流程(Excel取數(shù)→Word寫報告→PDF存檔)。

安裝與示例

安裝命令:pip install pywin32

高頻場景“Excel轉(zhuǎn)PDF”示例,精度拉滿:

import win32com.client as win32

# 啟動Excel(后臺運行,不彈窗)
excel = win32.Dispatch("Excel.Application")
excel.Visible = 0  # 0=后臺,1=顯示界面
excel.DisplayAlerts = 0  # 關(guān)閉彈窗警告(比如文件已存在的提示)

# 打開Excel文件(路徑要寫全,注意用雙反斜杠或r前綴)
workbook = excel.Workbooks.Open(r"C:\你的文件路徑\投標報價表.xlsx")

# 轉(zhuǎn)PDF(17是PDF的固定編碼,記住就行)
pdf_path = r"C:\你的文件路徑\投標報價表.pdf"
workbook.SaveAs(pdf_path, FileFormat=17)

# 關(guān)鍵!一定要關(guān)文件和Excel,不然后臺會殘留進程
workbook.Close()
excel.Quit()

print(f"PDF已生成:{pdf_path}")

終極選型指南:按需pick不踩坑

不用再糾結(jié)!按場景直接挑:

新手入門/日常.xlsx處理:openpyxl(免費跨平臺,看示例就會);

舊版.xls文件處理:xlrd+xlwt(專屬兼容,老報表不慌);

批量數(shù)據(jù)匯總/清洗:pandas(效率之王,一行代碼頂一小時人工);

高顏值報表/圖表:xlsxwriter(匯報神器,格式專業(yè)拿得出手);

Windows+Excel深度操控:pywin32(全能選手,宏、高精度轉(zhuǎn)格式全搞定)。

其實80%的辦公場景,openpyxl(基礎(chǔ)操作)+pandas(批量處理)就夠了!練熟這倆,基本能告別重復的Excel操作,效率直接翻倍~

到此這篇關(guān)于Python中處理Excel的5個神仙庫的使用指南的文章就介紹到這了,更多相關(guān)Python處理Excel內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)投影法分割圖像示例(一)

    Python實現(xiàn)投影法分割圖像示例(一)

    今天小編就為大家分享一篇Python實現(xiàn)投影法分割圖像示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python數(shù)據(jù)結(jié)構(gòu)的排序算法

    python數(shù)據(jù)結(jié)構(gòu)的排序算法

    下面是是對python數(shù)據(jù)結(jié)構(gòu)的排序算法的一些講解及示意圖,感興趣的小伙伴一起來學習吧
    2021-08-08
  • 關(guān)于keras多任務(wù)多l(xiāng)oss回傳的思考

    關(guān)于keras多任務(wù)多l(xiāng)oss回傳的思考

    這篇文章主要介紹了關(guān)于keras多任務(wù)多l(xiāng)oss回傳的思考,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python中的二維列表實例詳解

    python中的二維列表實例詳解

    這篇文章主要介紹了python中的二維列表實例詳解,文中給大家介紹了python 二維列表按列取元素的方法,需要的朋友可以參考下
    2018-06-06
  • 詳解如何管理多個Python版本和虛擬環(huán)境

    詳解如何管理多個Python版本和虛擬環(huán)境

    這篇文章主要介紹了詳解如何管理多個Python版本和虛擬環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 用Python獲取攝像頭并實時控制人臉的實現(xiàn)示例

    用Python獲取攝像頭并實時控制人臉的實現(xiàn)示例

    這篇文章主要介紹了用Python獲取攝像頭并實時控制人臉的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • Python3 pywin32模塊安裝的詳細步驟

    Python3 pywin32模塊安裝的詳細步驟

    這篇文章主要介紹了Python3 pywin32模塊安裝的詳細步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-05-05
  • Python中常見的異常總結(jié)

    Python中常見的異常總結(jié)

    當 Python 檢測到一個錯誤時,解釋器就會指出當前流已經(jīng)無法繼續(xù)執(zhí)行下去,這時候就出現(xiàn)了異常。
    2018-02-02
  • python獲取代理IP的實例分享

    python獲取代理IP的實例分享

    今天小編就為大家分享一篇python獲取代理IP的實例分享,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python中(str,list,tuple)基礎(chǔ)知識匯總

    python中(str,list,tuple)基礎(chǔ)知識匯總

    本文給大家匯總介紹的是python中str(字符串)、list(列表)、tuple(元組)、dict(字典)的一些基礎(chǔ)知識,有需要的小伙伴可以參考下
    2018-02-02

最新評論