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

Python合并兩個Excel文件的兩種主流方法

 更新時間:2025年08月18日 10:26:58   作者:detayun  
在日常數(shù)據(jù)處理中,合并Excel文件是常見需求,Python提供了多種庫(如pandas、openpyxl)來實現(xiàn)這一操作,本文將詳細(xì)介紹兩種主流方法,并附上完整代碼示例,幫助您高效完成Excel合并任務(wù),需要的朋友可以參考下

引言

在日常數(shù)據(jù)處理中,合并Excel文件是常見需求。Python提供了多種庫(如pandas、openpyxl)來實現(xiàn)這一操作。本文將詳細(xì)介紹兩種主流方法,并附上完整代碼示例,幫助您高效完成Excel合并任務(wù)。

方法一:使用pandas庫(推薦)

簡介

pandas是Python中處理表格數(shù)據(jù)的核心庫,支持快速讀取、合并和保存Excel文件。適用于縱向合并(追加數(shù)據(jù))橫向合并(按列拼接)

安裝

pip install pandas openpyxl xlrd

場景1:縱向合并(追加數(shù)據(jù))

示例數(shù)據(jù)

假設(shè)有兩個Excel文件file1.xlsxfile2.xlsx,結(jié)構(gòu)如下:

file1.xlsx

NameAgeCity
Alice25New York
Bob30London

file2.xlsx

NameAgeCity
Charlie28Paris
David35Berlin

代碼示例

import pandas as pd

# 讀取兩個Excel文件
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')

# 縱向合并(按行追加)
combined_df = pd.concat([df1, df2], ignore_index=True)

# 保存為新文件
combined_df.to_excel('combined.xlsx', index=False)

print("縱向合并完成!")

輸出結(jié)果

NameAgeCity
Alice25New York
Bob30London
Charlie28Paris
David35Berlin

場景2:橫向合并(按列拼接)

示例數(shù)據(jù)

假設(shè)file1.xlsx包含用戶信息,file2.xlsx包含訂單數(shù)據(jù),需按用戶ID合并:

file1.xlsx

UserIDName
1Alice
2Bob

file2.xlsx

UserIDOrder
1Book
2Laptop

代碼示例

import pandas as pd

# 讀取兩個Excel文件
df1 = pd.read_excel('file1.xlsx')
df2 = pd.read_excel('file2.xlsx')

# 按UserID列橫向合并
merged_df = pd.merge(df1, df2, on='UserID', how='inner')

# 保存為新文件
merged_df.to_excel('merged.xlsx', index=False)

print("橫向合并完成!")

輸出結(jié)果

UserIDNameOrder
1AliceBook
2BobLaptop

注意事項

  1. 列名一致性:縱向合并時,確保兩個文件的列名完全一致(包括大小寫和空格)。
  2. 索引處理:使用ignore_index=True重置合并后的索引。
  3. 去重操作:合并后可通過drop_duplicates()去除重復(fù)行。
  4. 內(nèi)存優(yōu)化:處理大型文件時,可分塊讀?。?code>chunksize參數(shù))。

方法二:使用openpyxl庫(保留格式)

簡介

openpyxl可直接操作Excel文件,支持保留原始格式(如字體、顏色),但代碼稍復(fù)雜。適用于需要保留樣式的場景。

安裝

pip install openpyxl

代碼示例(縱向合并)

from openpyxl import Workbook, load_workbook

# 加載第一個Excel文件
wb1 = load_workbook('file1.xlsx')
ws1 = wb1.active

# 加載第二個Excel文件
wb2 = load_workbook('file2.xlsx')
ws2 = wb2.active

# 創(chuàng)建新工作簿
new_wb = Workbook()
new_ws = new_wb.active

# 復(fù)制第一個文件的所有行
for row in ws1.iter_rows(values_only=True):
    new_ws.append(row)

# 復(fù)制第二個文件的所有行(跳過標(biāo)題行)
for row in ws2.iter_rows(min_row=2, values_only=True):
    new_ws.append(row)

# 保存新文件
new_wb.save('combined_openpyxl.xlsx')

print("使用openpyxl合并完成!")

優(yōu)勢與局限

  • 優(yōu)勢:保留原始格式(如顏色、邊框)。
  • 局限:代碼復(fù)雜度高,不支持橫向合并。

方案對比

方法適用場景優(yōu)點缺點
pandas快速合并、數(shù)據(jù)清洗、橫向/縱向合并代碼簡潔、支持大數(shù)據(jù)量無法保留格式
openpyxl保留Excel樣式、操作工作表結(jié)構(gòu)格式完全保留代碼復(fù)雜、性能較低

常見問題解答

1. 如何合并多個Excel文件?

使用pandas可循環(huán)讀取多個文件:

import pandas as pd

all_dfs = []
for file in ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']:
    df = pd.read_excel(file)
    all_dfs.append(df)

combined = pd.concat(all_dfs, ignore_index=True)

2. 合并時如何指定工作表?

使用sheet_name參數(shù):

df = pd.read_excel('file.xlsx', sheet_name='Sheet2')

3. 如何處理合并后的空值?

使用dropna()去除空行:

combined_df.dropna(inplace=True)

總結(jié)

  • 推薦方案
    • 數(shù)據(jù)清洗優(yōu)先:選擇pandas庫,支持靈活的合并和清洗操作。
    • 保留格式優(yōu)先:使用openpyxl庫,但僅適用于簡單縱向合并。

通過本文的兩種方法,您可以輕松實現(xiàn)Excel文件的合并,并根據(jù)具體需求選擇最合適的工具。

到此這篇關(guān)于Python合并兩個Excel文件的兩種主流方法的文章就介紹到這了,更多相關(guān)Python合并Excel文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 人臉檢測實戰(zhàn)終極之OpenCV+Python實現(xiàn)人臉對齊

    人臉檢測實戰(zhàn)終極之OpenCV+Python實現(xiàn)人臉對齊

    這篇文章主要是為了演示如何使用 OpenCV、Python 和面部標(biāo)志從而實現(xiàn)對齊人臉。文中示例代碼對我們的工作或?qū)W習(xí)有一定的幫助,感興趣的小伙伴可以學(xué)習(xí)一下
    2021-12-12
  • django在保存圖像的同時壓縮圖像示例代碼詳解

    django在保存圖像的同時壓縮圖像示例代碼詳解

    這篇文章主要介紹了django在保存圖像的同時壓縮圖像,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • 12步教你理解Python裝飾器

    12步教你理解Python裝飾器

    或許你已經(jīng)用過裝飾器,它的使用方式非常簡單但理解起來困難(其實真正理解的也很簡單),想要理解裝飾器,你需要懂點函數(shù)式編程的概念,python函數(shù)的定義以及函數(shù)調(diào)用的語法規(guī)則等,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python實現(xiàn)Linux命令xxd -i功能

    Python實現(xiàn)Linux命令xxd -i功能

    這篇文章主要介紹了Python實現(xiàn)Linux命令xxd -i功能的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • Python Pytorch深度學(xué)習(xí)之神經(jīng)網(wǎng)絡(luò)

    Python Pytorch深度學(xué)習(xí)之神經(jīng)網(wǎng)絡(luò)

    今天小編就為大家分享一篇關(guān)于Pytorch神經(jīng)網(wǎng)絡(luò)的文章,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-10-10
  • python中isalpha () 和 isdigit ()的區(qū)別小結(jié)

    python中isalpha () 和 isdigit ()的區(qū)別小結(jié)

    本文主要介紹了python中isalpha () 和 isdigit ()的區(qū)別小結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • PyCharm自動化測試的實現(xiàn)

    PyCharm自動化測試的實現(xiàn)

    本文主要介紹了PyCharm自動化測試的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Python遞歸實現(xiàn)打印多重列表代碼

    Python遞歸實現(xiàn)打印多重列表代碼

    今天小編就為大家分享一篇Python遞歸實現(xiàn)打印多重列表代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python鍵鼠操作自動化庫PyAutoGUI簡介(小結(jié))

    Python鍵鼠操作自動化庫PyAutoGUI簡介(小結(jié))

    這篇文章主要介紹了Python鍵鼠操作自動化庫PyAutoGUI簡介,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • pyramid配置session的方法教程

    pyramid配置session的方法教程

    這篇文章主要介紹了pyramid如何配置session,大家可以參考使用
    2013-11-11

最新評論

秦皇岛市| 屏山县| 清河县| 张家口市| 岐山县| 泸西县| 美姑县| 高清| 黄龙县| 扎囊县| 株洲县| 七台河市| 黔西| 三明市| 右玉县| 兴业县| 彰化县| 沂源县| 理塘县| 双鸭山市| 盐山县| 舟山市| 新建县| 濮阳县| 阳东县| 华坪县| 建水县| 英山县| 临海市| 岚皋县| 苍溪县| 汝阳县| 龙口市| 西吉县| 射洪县| 城市| 昭平县| 通榆县| 左权县| 高邮市| 札达县|