在当今数据驱动的环境中,整合分散在多个 Excel 文件中的信息是一项常见的挑战。幸运的是,Python 提供了强大的工具来简化此过程,提供了一种更有效的方式来合并和组织数据。在本指南中,我们将探讨如何利用 Python 的功能轻松地将多个 Excel 文件组合成一个有凝聚力的结构化数据集。
在数据世界中,当您拥有多个具有相同列的 Excel 文件时,事情会变得混乱。如果您想将它们全部整理并合并到一个文件中,尤其是当您需要一一浏览它们时,那么您来对地方了。本指南将向您展示一种简单的方法来理解这一切并保持您的数据井井有条。
Python 解决方案
使用此 Python 代码轻松合并多个 Excel 文件!🚀 使用 pandas 和 os,该脚本在指定文件夹中的文件中导航,并将它们组合成一个整洁的 merged_excel.xlsx 文件。
只需插入您的文件夹路径,运行代码,瞧 - 简化数据!
# import packages
import pandas as pd
import os
# Define a function 'append' to merge Excel files in a specified path
def append(path):
# Create an empty list to store individual DataFrames
frames = []
for root, dirs, files in os.walk(path):
for file in files:
file_with_path = os.path.join(root, file)
df = pd.read_excel(file_with_path)
frames.append(df)
df = pd.concat(frames, axis=0)
return df
# path:The folder path where storage all the excel files
df = append(path)
df.to_excel("merged_excel.xlsx")
在此代码片段中,我们使用了两个强大的工具:pandas 和 os(用于处理操作系统的模块)。
append 函数是这里的明星。它挖掘指定文件夹('path')中的所有 Excel 文件并将它们收集到一个 DataFrame 中,这就像一个整洁的数据表。
现在,神奇的时刻来了:最后两行!他们使用我们的 append 函数将指定文件夹中的所有 Excel 数据合并到一个名为 merged_excel.xlsx 的合并文件中。
奖励:处理独特的数据情况
虽然我们已经探索了简单数据合并的解决方案,但让我们稍微绕道以解决更细微的场景。
想象一下:您的 Excel 文件的名称中带有不同的日期,不仅需要合并,还需要深思熟虑地集成到最终摘要中,以便您可以知道最终版本中数据的日期。
情况 1:数据驱动的 Excel 文件名:制作全面的摘要 Excel
例如,如果文件名遵循类似 “filename_YYYY-MM-DD.xlsx” 的模式,并且您希望同时提取日期和文件名,则可以按如下方式调整代码:
import pandas as pd
import os
def append(path):
frames = [] # Create an empty list to store individual DataFrames
for root, dirs, files in os.walk(path):
for file in files:
file_with_path = os.path.join(root, file)
# Extract filename and date information from the file name
file_info = os.path.splitext(file)[0].split('_')
# Read each Excel file using pandas
df = pd.read_excel(file_with_path)
# Add filename and date columns to the DataFrame
df["filename"] = file_info[0] # Assuming filename is the first part
df["date"] = pd.to_datetime(file_info[1]) # Assuming date is the second part
# Append the DataFrame to the list
frames.append(df)
# Concatenate all DataFrames in the list along the rows
df = pd.concat(frames, axis=0)
return df
花椒壳-愿您平安健康 - 花椒壳资源网花椒壳资源网,资源下载,主要提供资源、设计素材、音乐、视频、图片等一切与互联网有关的资源
https://www.xinliu.vip
情况 2:简化数据:将多个 Excel 文件合并为一个文件,并为每个文件命名不同的工作表
现在,让我们转向另一个场景。假设您的目标是一个合并的主文件,但有一个变化 - 每个文件都贡献到一个单独的工作表中,该工作表以其原始文件命名。
import pandas as pd
import os
def combine(path):
with pd.ExcelWriter("merged_excel.xlsx") as writer:
for root, dirs, files in os.walk(path):
for file in files:
filename = os.path.join(root, file)
df = pd.read_excel(filename)
# Delete the file name suffix, sometimes it could be xlsv/.xlsx
df.to_excel(writer, sheet_name=file.strip(
'.csv'))
return df