文科生自学Python-批量合并同一EXCEL中所有Sheet数据

--天行健君子以自强不息,地势坤君子以厚德载物,学习编程成就更好的自己--

Python语言简洁生动,特别适合文科生学习入门IT世界,用几十行代码就能够做一个完整的爬虫脚本,开发效率杠杠的!短时间内即可解决工作和学习中碰到的各种棘手问题。(本人外语专业毕业,机缘巧合爱上编程,自学道路曲曲折折,痛并快乐!)在这里总结一下自学Python遇到的难点和重点,分享码过的代码和要点总结,希望能够给初学者一点启示和鼓励,同时愿意结交更多大神交流有助提升自己的水平。

之前的文章提到过如何批量合并同一路径下不同EXCEL文件数据,其实小伙伴们还经常碰到另一个常见的问题,即是:如何批量合并同一个EXCEL文件中所有Sheet数据呢(这里默认所有Sheet数据结构一样)?,接下来给大家展示一下具体场景和如何解决:

场景:

如下面截图所示,同一个EXCEL里保存着不同Sheet数据,分别是5个不同科目数据集合,同时部分数据存在缺失,批量合并后也需要删除空缺数据。

语文成绩数据如下:

文科生自学Python-批量合并同一EXCEL中所有Sheet数据

数学成绩数据如下:

文科生自学Python-批量合并同一EXCEL中所有Sheet数据

其他数据集合大同小异,在这里不一一赘述和展示了。解决思路其实很简单,主要使用pandas库里的功能,打开相关文件生成所有Sheet名列表,根据列表来进行拼接数据即可,具体步骤如下:

步骤1-切换到指定文件路径

文科生自学Python-批量合并同一EXCEL中所有Sheet数据

步骤2-生成自定义函数进行提取SHEET列表并合并

文科生自学Python-批量合并同一EXCEL中所有Sheet数据

步骤3-把合并好的数据集合另存结束

文科生自学Python-批量合并同一EXCEL中所有Sheet数据

文本代码如下:

import pandas as pd
import time
import os

def Set_Work_Path(x):
    try:
        os.chdir(x)
        route = os.getcwd()
        print(route)
        return route
    except Exception:
        print("No Result")
work_path = r"E:DATA27JUL21"
Set_Work_Path(work_path)

#define a function to read all sheets one by one in excel file
def Get_All_Sheets_Excel(x):
    file = pd.ExcelFile(x)
    list_sht_name = file.sheet_names #get list of sheets' names
    print(list_sht_name)
    list_sht_data = []  #get all sheet data sets into a list
    for i in range(0, len(list_sht_name), 1):
        list_sht_data.append(pd.read_excel(x, header=0, sheet_name=list_sht_name[i], index_col=None))
    #merge all data sets together
    df = pd.concat(list_sht_data)
    #delete blank data
    df.dropna(axis=0, how="all", inplace=True)
    return df
total_data = Get_All_Sheets_Excel("所有成绩数据分不同SHEET.xlsx")
print(total_data)

workbook_name = "汇总数据到同一个SHEET.xlsx"
#Saving it into an Excel file
writer = pd.ExcelWriter(workbook_name)
total_data.to_excel(writer,sheet_name="DATA",index=False)
writer.save()
show = "Time: %s Seconds" % time.perf_counter() + ", Well Done!"
print(show)
print("Running is OVER!!")

处理好的汇总数据如下截图:

文科生自学Python-批量合并同一EXCEL中所有Sheet数据

从以上例子不难看到:

不出40行代码就搞定了,体现了Python开发效率和灵活性,为大家节省许多时间来参与到更加有意义的事情或者工作中去!!!

END

我为人人,人人为我!!欢迎大家关注,点赞和转发!!!

展开阅读全文

页面更新:2024-05-28

标签:批量   杠杠   数据   厚德载物   截图   君子   路径   步骤   场景   效率   成绩   代码   文件   列表   工作   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top