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

Python操作Excel的實(shí)用工具與庫openpyxl/pandas的詳細(xì)指南

 更新時(shí)間:2025年11月13日 09:48:05   作者:程序員愛釣魚  
在日常數(shù)據(jù)處理工作中,Excel 是最常見的數(shù)據(jù)文件格式之一,本文將帶你了解 openpyxl 和 pandas的核心用法,并通過實(shí)戰(zhàn)示例展示如何高效操作 Excel 文件,希望對(duì)大家有所幫助

在日常數(shù)據(jù)處理工作中,Excel 是最常見的數(shù)據(jù)文件格式之一。無論是財(cái)務(wù)報(bào)表、銷售統(tǒng)計(jì)還是實(shí)驗(yàn)數(shù)據(jù),Python 都能通過強(qiáng)大的庫快速讀寫和處理 Excel 文件。其中最常用的就是 openpyxlpandas。

本文將帶你了解這兩個(gè)庫的核心用法,并通過實(shí)戰(zhàn)示例展示如何高效操作 Excel 文件。

一、openpyxl:原生 Excel 文件操作庫

openpyxl 是一個(gè)專門用于讀寫 .xlsx 文件的純 Python 庫。它支持單元格讀寫、樣式設(shè)置、圖表創(chuàng)建等高級(jí)功能,適合對(duì) Excel 文件結(jié)構(gòu)進(jìn)行精細(xì)控制的場(chǎng)景。

1. 安裝 openpyxl

pip install openpyxl

2. 創(chuàng)建 Excel 文件

from openpyxl import Workbook

# 創(chuàng)建一個(gè)新的工作簿
wb = Workbook()
ws = wb.active

# 寫入數(shù)據(jù)
ws['A1'] = '姓名'
ws['B1'] = '成績'
ws.append(['Alice', 95])
ws.append(['Bob', 88])

# 保存文件
wb.save('成績表.xlsx')

運(yùn)行后,你將得到一個(gè)包含學(xué)生成績的 Excel 文件。

3. 讀取 Excel 文件

from openpyxl import load_workbook

wb = load_workbook('成績表.xlsx')
ws = wb.active

for row in ws.iter_rows(values_only=True):
    print(row)

輸出結(jié)果:

('姓名', '成績')
('Alice', 95)
('Bob', 88)

4. 修改單元格內(nèi)容

ws['B2'] = 98  # 修改 Alice 的成績
wb.save('成績表_修改.xlsx')

5. 設(shè)置單元格樣式(可選)

from openpyxl.styles import Font, Alignment

ws['A1'].font = Font(bold=True, color="FF0000")
ws['A1'].alignment = Alignment(horizontal='center')
wb.save('成績表_格式.xlsx')

二、pandas:高效的數(shù)據(jù)分析利器

如果你更關(guān)注數(shù)據(jù)分析和批量處理,而不是 Excel 的格式細(xì)節(jié),那么 pandas 是更高效的選擇。 pandas 可以輕松地讀寫 Excel 文件并與 DataFrame 無縫結(jié)合。

1. 安裝 pandas

pip install pandas openpyxl

2. 從 Excel 讀取數(shù)據(jù)

import pandas as pd

df = pd.read_excel('成績表.xlsx')
print(df)

輸出:

     姓名  成績
0  Alice  95
1    Bob  88

3. 修改數(shù)據(jù)并寫回 Excel

df.loc[df['姓名'] == 'Bob', '成績'] = 90
df.to_excel('成績表_更新.xlsx', index=False)

4. 多表格(多 Sheet)操作

with pd.ExcelWriter('多表格.xlsx') as writer:
    df.to_excel(writer, sheet_name='一班', index=False)
    df.to_excel(writer, sheet_name='二班', index=False)

5. 從多個(gè) Excel 文件合并數(shù)據(jù)

import glob

files = glob.glob("data/*.xlsx")
all_data = pd.concat((pd.read_excel(f) for f in files))
all_data.to_excel('合并結(jié)果.xlsx', index=False)

三、openpyxl 與 pandas 的比較

特性openpyxlpandas
文件類型.xlsx.xls, .xlsx, .csv
操作粒度單元格級(jí)別表格/數(shù)據(jù)級(jí)別
適合場(chǎng)景精細(xì)化格式控制、表格樣式、美化批量處理、分析計(jì)算、數(shù)據(jù)轉(zhuǎn)換
是否支持樣式? 是? 否(僅限數(shù)據(jù))

結(jié)論:

  • 如果你需要精細(xì)控制 Excel 外觀(如模板、美化),推薦 openpyxl。
  • 如果你主要關(guān)注數(shù)據(jù)計(jì)算和處理,推薦 pandas。

四、實(shí)戰(zhàn)案例:銷售數(shù)據(jù)匯總

假設(shè)你有多個(gè)銷售 Excel 文件(如每月銷售數(shù)據(jù)),需要快速匯總并輸出總銷售額。

import pandas as pd
import glob

# 合并所有銷售文件
files = glob.glob("sales/*.xlsx")
df = pd.concat([pd.read_excel(f) for f in files])

# 匯總計(jì)算
summary = df.groupby('銷售員')['銷售額'].sum().reset_index()

# 導(dǎo)出結(jié)果
summary.to_excel('銷售匯總.xlsx', index=False)
print("匯總完成!")

這段代碼可以幫你自動(dòng)讀取所有銷售文件,統(tǒng)計(jì)每位銷售員的總銷售額,并生成一個(gè)新的匯總文件。

五、總結(jié)

通過本文的學(xué)習(xí),你應(yīng)該掌握了以下內(nèi)容:

  • 使用 openpyxl 創(chuàng)建、修改和美化 Excel 文件。
  • 使用 pandas 快速讀寫、分析和匯總 Excel 數(shù)據(jù)。
  • 理解兩者的差異與適用場(chǎng)景。
  • 掌握一個(gè)實(shí)戰(zhàn)級(jí)的數(shù)據(jù)匯總案例。

無論你是做數(shù)據(jù)分析、辦公自動(dòng)化,還是構(gòu)建數(shù)據(jù)驅(qū)動(dòng)應(yīng)用,Excel 操作都是 Python 工具箱中不可或缺的一環(huán)。 下一步,你可以繼續(xù)學(xué)習(xí)如何用 pandas + Matplotlib 實(shí)現(xiàn)數(shù)據(jù)可視化,為數(shù)據(jù)報(bào)告添加圖形洞察。

到此這篇關(guān)于Python操作Excel的實(shí)用工具與庫openpyxl/pandas的詳細(xì)指南的文章就介紹到這了,更多相關(guān)Python操作Excel庫內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python操作FTP實(shí)現(xiàn)上傳和下載的方法

    使用Python操作FTP實(shí)現(xiàn)上傳和下載的方法

    今天小編就為大家分享一篇關(guān)于使用Python操作FTP實(shí)現(xiàn)上傳和下載的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 解決pycharm修改代碼后第一次運(yùn)行不生效的問題

    解決pycharm修改代碼后第一次運(yùn)行不生效的問題

    這篇文章主要介紹了解決pycharm修改代碼后第一次運(yùn)行不生效的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • python中 * 的用法詳解

    python中 * 的用法詳解

    這篇文章主要介紹了python中 * 的用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python?虛擬環(huán)境的價(jià)值和常用命令詳解

    Python?虛擬環(huán)境的價(jià)值和常用命令詳解

    在實(shí)際項(xiàng)目開發(fā)中,我們通常會(huì)根據(jù)自己的需求去下載各種相應(yīng)的框架庫,如Scrapy、Beautiful?Soup等,但是可能每個(gè)項(xiàng)目使用的框架庫并不一樣,或使用框架的版本不一樣,今天給大家分享下Python?虛擬環(huán)境的價(jià)值和常用命令,感興趣的朋友一起看看吧
    2022-05-05
  • Python的面向?qū)ο缶幊谭绞綄W(xué)習(xí)筆記

    Python的面向?qū)ο缶幊谭绞綄W(xué)習(xí)筆記

    Python深度具備面向?qū)ο缶幊陶Z言所應(yīng)有的特性,這里我們以類和方法為主,來整理一下Python的面向?qū)ο缶幊谭绞綄W(xué)習(xí)筆記:
    2016-07-07
  • DataFrame 數(shù)據(jù)合并實(shí)現(xiàn)(merge,join,concat)

    DataFrame 數(shù)據(jù)合并實(shí)現(xiàn)(merge,join,concat)

    這篇文章主要介紹了DataFrame 數(shù)據(jù)合并實(shí)現(xiàn)(merge,join,concat),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python根據(jù)給定文件返回文件名和擴(kuò)展名的方法

    python根據(jù)給定文件返回文件名和擴(kuò)展名的方法

    這篇文章主要介紹了python根據(jù)給定文件返回文件名和擴(kuò)展名的方法,實(shí)例分析了Python操作文件及字符串的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • python中的測(cè)試框架

    python中的測(cè)試框架

    這篇文章主要介紹了python中測(cè)試框架的相關(guān)資料,幫助大家更好的理解和使用python進(jìn)行測(cè)試,感興趣的朋友可以了解下
    2020-11-11
  • Python文本統(tǒng)計(jì)功能之西游記用字統(tǒng)計(jì)操作示例

    Python文本統(tǒng)計(jì)功能之西游記用字統(tǒng)計(jì)操作示例

    這篇文章主要介紹了Python文本統(tǒng)計(jì)功能之西游記用字統(tǒng)計(jì)操作,結(jié)合實(shí)例形式分析了Python文本讀取、遍歷、統(tǒng)計(jì)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • 在終端啟動(dòng)Python時(shí)報(bào)錯(cuò)的解決方案

    在終端啟動(dòng)Python時(shí)報(bào)錯(cuò)的解決方案

    這篇文章主要介紹了在終端啟動(dòng)Python時(shí)報(bào)錯(cuò)的解決方案,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論

临朐县| 前郭尔| 新乡市| 长岭县| 佛冈县| 浠水县| 新安县| 织金县| 南江县| 三亚市| 蒙山县| 邵阳市| 双流县| 泸定县| 灵石县| 龙陵县| 晴隆县| 宝坻区| 通州区| 禹州市| 阿拉善右旗| 临邑县| 万盛区| 峨边| 阳谷县| 札达县| 游戏| 承德县| 靖安县| 凤冈县| 新津县| 永州市| 昌吉市| 望江县| 忻城县| 山丹县| 纳雍县| 朝阳区| 平谷区| 通海县| 新乡市|