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

Python批量合并365個工作表

 更新時間:2024年11月06日 11:49:26   作者:PythonFun  
這篇文章主要為大家詳細(xì)介紹了Python批量合并365個工作表的2種方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

一、引言

小明剛進入到新公司,就被委以重任:將365個Excel文件中的英文表頭修改為中文。傳統(tǒng)方法是逐一打開每個文件,手動修改標(biāo)題,然后保存,最后再合并。這種方法不僅耗時耗力,還容易出錯。如果用Python就可以實現(xiàn)批量修改表頭,并快速合并,就可以大大地提速,這樣原本可能需要2天的工作量,可能只需要1分鐘就完成了。那么用Python又是如何實現(xiàn)的呢?

二、實現(xiàn)代碼

1. 使用pandas來合并

如果使用Python中的pandas的話,根據(jù)他的需求可以分為3步:

第一步:讀取所有xlsx文件,這時我們使用的是os模塊,利用os模塊批量獲取xlsx格式文件,由于有時還會有~.xlsx這種文件,干擾python讀取文件,所以要排除一下。

第二步:利用pandas模塊建立一個DataFrame,設(shè)定好表頭columns,后面合并xlsx時就不用讀取第一行表頭,直接進行合并了。

第三步:利用for循環(huán),拼接路徑地址,逐個讀取xlsx文件,修改表頭后,再利用pandas中的concat來合并xlsx文件,合完成后輸出保存。

通過以上三步,就可以將 365 個xlsx文件合并成一個,合并后的excel表頭按要求的中文來。只需編寫10多行代碼,他就可以在 2秒內(nèi)完成這項工作,而不是花費24小時。

import os
import pandas as pd
import time
 
t1 = time.time() #定義時間
# 定義文件夾路徑
folder_path = "./files/"
 
# 獲取文件夾中所有Excel文件的文件名
file_list = [f for f in os.listdir(folder_path) if f.endswith('.xlsx') and not f.startswith("~")]
 
# 初始化一個空的DataFrame,用于存放合并后的數(shù)據(jù)
combined_df = pd.DataFrame(columns=['標(biāo)題', '日期', '檢查結(jié)果', '核檢員'])
 
# 遍歷所有Excel文件,并將它們合并到一個DataFrame中
for file_name in file_list:
    file_path = os.path.join(folder_path, file_name)
    df = pd.read_excel(file_path)
    # 將列名改為所需的表頭
    df.columns = ['標(biāo)題', '日期', '檢查結(jié)果', '核檢員']
    # 將當(dāng)前文件的內(nèi)容追加到合并的DataFrame中
    combined_df = pd.concat([combined_df, df], ignore_index=True)
 
# 保存合并后的數(shù)據(jù)到一個新的Excel文件
output_file = "combined_quality_report.xlsx"
combined_df.to_excel(output_file, index=False)
 
print(f"所有文件已成功合并,并保存為 {output_file},\n耗時:{round(time.time()-t1, 1)}秒")

2.使用openpyxl來合并

由于pandas在打包時不太方便,因此為了跨平臺操作,我們可以把它改為openpyxl,當(dāng)然我們可以不用手工去改,只把上面這些代碼放到ChatGPT中,給出指令就可以了。

在使用openpyxl時,我們修改代碼的邏輯,直接從第二行來讀取,簡化讀取步驟,而不用更新讀取excel的表頭了,這樣可以保證其生成的速度還可以提高不少。步驟如下:

第一步,使用 openpyxl 創(chuàng)建一個新的工作簿。

第二步,讀取每個文件的內(nèi)容并跳過表頭,只合并數(shù)據(jù)行。

第三步,最后將合并的數(shù)據(jù)保存到一個新的Excel文件中。

實現(xiàn)的代碼如下:

import os
import time
from openpyxl import Workbook,load_workbook
 
# 定義時間
t1 = time.time()
 
# 定義文件夾路徑
folder_path = "./files/"
 
# 獲取文件夾中所有Excel文件的文件名
file_list = [f for f in os.listdir(folder_path) if f.endswith('.xlsx') and not f.startswith("~")]
 
# 創(chuàng)建一個新的工作簿和活動工作表
combined_wb = Workbook()
combined_ws = combined_wb.active
 
# 添加表頭
headers = ['標(biāo)題', '日期', '檢查結(jié)果', '核檢員']
combined_ws.append(headers)
 
# 遍歷所有Excel文件,并將它們合并到新的工作表中
for file_name in file_list:
    file_path = os.path.join(folder_path, file_name)
    wb = load_workbook(file_path)
    ws = wb.active
    
    # 跳過表頭,從第二行開始讀取數(shù)據(jù)
    for row in ws.iter_rows(min_row=2, values_only=True):
        combined_ws.append(row)  # 將每一行數(shù)據(jù)添加到合并的工作表中
 
# 保存合并后的數(shù)據(jù)到一個新的Excel文件
output_file = "combined_quality_report.xlsx"
combined_wb.save(output_file)
 
print(f"所有文件已成功合并,并保存為 {output_file},\n耗時:{round(time.time() - t1, 1)}秒")

三、學(xué)后總結(jié)

在數(shù)字化辦公時代,掌握編程和自動化技能對提升工作效率至關(guān)重要。Python作為一種易學(xué)且功能強大的編程語言,在處理重復(fù)性工作時展現(xiàn)出巨大潛力。如果你也想擺脫繁重的重復(fù)勞動,不妨嘗試學(xué)習(xí)Python編程,讓你的辦公效率直線上升。

到此這篇關(guān)于Python批量合并365個工作表的文章就介紹到這了,更多相關(guān)Python合并工作表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django Admin實現(xiàn)三級聯(lián)動的示例代碼(省市區(qū))

    Django Admin實現(xiàn)三級聯(lián)動的示例代碼(省市區(qū))

    多級菜單在很多上面都有應(yīng)用,這篇文章主要介紹了Django Admin實現(xiàn)三級聯(lián)動(省市區(qū)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 深入淺析Pytorch中stack()方法

    深入淺析Pytorch中stack()方法

    這篇文章主要介紹了Pytorch中stack()方法的總結(jié)及理解,本文通過實例圖文相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-11-11
  • 利用Python畫ROC曲線和AUC值計算

    利用Python畫ROC曲線和AUC值計算

    這篇文章給大家介紹了如何利用Python畫ROC曲線,以及AUC值的計算,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-09-09
  • NumPy數(shù)組排序、過濾與隨機數(shù)生成詳解

    NumPy數(shù)組排序、過濾與隨機數(shù)生成詳解

    這篇文章主要詳細(xì)給大家介紹了NumPy數(shù)組排序、過濾與隨機數(shù)生成,文中通過代碼示例給大家講解的非常詳細(xì),對大家學(xué)習(xí)NumPy有一定的幫助,需要的朋友可以參考下
    2024-05-05
  • TensorFlow Autodiff自動微分詳解

    TensorFlow Autodiff自動微分詳解

    這篇文章主要介紹了TensorFlow Autodiff自動微分詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python中的文件和目錄操作實現(xiàn)代碼

    Python中的文件和目錄操作實現(xiàn)代碼

    對于文件和目錄的處理,雖然可以通過操作系統(tǒng)命令來完成,但是Python語言為了便于開發(fā)人員以編程的方式處理相關(guān)工作,提供了許多處理文件和目錄的內(nèi)置函數(shù)。重要的是,這些函數(shù)無論是在Unix、Windows還是Macintosh平臺上,它們的使用方式是完全一致的。
    2011-03-03
  • Python如何將OpenCV攝像頭視頻流通過瀏覽器播放

    Python如何將OpenCV攝像頭視頻流通過瀏覽器播放

    這篇文章主要介紹了Python如何將OpenCV攝像頭視頻流通過瀏覽器播放的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 在python的類中動態(tài)添加屬性與生成對象

    在python的類中動態(tài)添加屬性與生成對象

    這篇文章給大家介紹了如何在python的類中動態(tài)添加屬性和生成對象,文中通過幾個方面來進行介紹,對這感興趣的朋友們可以學(xué)習(xí)學(xué)習(xí)。
    2016-09-09
  • 超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

    超詳細(xì)注釋之OpenCV按位AND OR XOR和NOT

    這篇文章主要介紹了OpenCV按位AND OR XOR和NOT運算,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Python簡單實現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能示例

    Python簡單實現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能示例

    這篇文章主要介紹了Python簡單實現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能,涉及Python針對字符串與列表的遍歷、運算等相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04

最新評論

东丰县| 巧家县| 邛崃市| 屯门区| 舟曲县| 贵州省| 江山市| 景泰县| 桃江县| 肥乡县| 马山县| 鄂托克前旗| 汽车| 皮山县| 西丰县| 林州市| 北碚区| 宿迁市| 武陟县| 宁远县| 夏邑县| 东至县| 山东省| 罗山县| 巨野县| 武义县| 泽州县| 莱阳市| 新乡市| 锡林浩特市| 南乐县| 台南县| 保靖县| 桃园县| 义马市| 安新县| 子洲县| 鹿邑县| 奎屯市| 霍林郭勒市| 湟源县|