Python如何将多个Excel文件合并为一个文件
通常,我们使用 Excel 文件,我们肯定遇到过需要将多个Excel文件合并为一个的情况。传统的方法直是在 excel 中使用 VBA 代码,它可以完成这项工作,但它是一个多步骤的过程,不容易理解。另一种方法是手动将长 Excel 文件复制到一个中,这不仅耗时、麻烦而且容易出错。
使用Pandas 模块,使用Python中的几行代码即可轻松快速地完成此任务。首先,我们需要使用 pip 安装模块。
在终端中使用以下命令:
pip install pandas
怎么用Python将多个Excel文件合并
使用Python如何将多个Excel文件合并为一个文件的方法有两个,分别为dataframe.append()方法和pandas.concat()方法,晓得博客为你具体介绍如下方法:
1、使用dataframe.append()
Pandas dataframe.append()函数用于将其他数据框的行添加到给定数据框的末尾, 并返回一个新的数据框对象。新列和新单元格将插入到原始DataFrame中, 并用NaN值填充
语法: DataFrame.append(other, ignore_index=False, verify_integrity=False, sort=None)
参数 :
- other : DataFrame 或 Series/dict-like 对象,或这些对象的列表
- ignore_index :如果为 True,则不使用索引标签。默认为假。
- verify_integrity :如果为 True,则在创建具有重复项的索引时引发 ValueError。默认为假。
- sort :如果 self 和 other 的列没有对齐,则对列进行排序。默认为假。
返回:它返回附加的DataFrame作为输出。
例子:使用的 Excel: FoodSales1-1 , FoodSales2-1
- python 3
# importing the required modules
import glob
import pandas as pd
# specifying the path to csv files
path = "C:/downloads"
# csv files in the path
file_list = glob.glob(path + "/*.xlsx")
# list of excel files we want to merge.
# pd.read_excel(file_path) reads the excel
# data into pandas dataframe.
excl_list = []
for file in excl_list:
excl_list.append(pd.read_excel(file))
# create a new dataframe to store the
# merged excel file.
excl_merged = pd.DataFrame()
for excl_file in excl_list:
# appends the data into the excl_merged
# dataframe.
excl_merged = excl_merged.append(
excl_file, ignore_index=True)
# exports the dataframe into excel file with
# specified name.
excl_merged.to_excel('total_food_sales.xlsx', index=False)
输出 :
2、使用pandas.concat()
pandas.concat() 函数可以将数据根据不同的轴作简单的融合。
语法: concat(objs,axis,join,ignore_index,keys,levels,names,verify_integrity,sort,copy)
参数:
- objs :系列或数据帧对象
- 轴:要连接的轴;default = 0 //沿行
- join:处理其他轴上的索引的方法;默认 = ‘外部’
- ignore_index:如果为 True,则不使用沿串联轴的索引值;默认 = 假
- 键:将标识符添加到结果索引的序列;默认 = 无
- 级别:用于构建 MultiIndex 的特定级别(唯一值);默认 = 无
- 名称:生成的分层索引中级别的名称;默认 = 无
- verify_integrity:检查新的串联轴是否包含重复项;默认 = 假
- 排序:如果在 join 为“外部”时尚未对齐,则对非连接轴进行排序;默认 = 假
- 复制:如果为False,不要不必要地复制数据;默认 = 真
返回:带有连接数据的 Pandas 数据框。
例子:
在最后一个示例中,我们只处理了两个包含几行的 Excel 文件。让我们尝试合并更多文件,每个文件包含大约 5000 行和 7 列。我们有 5 个文件BankE , BankD , BankC , BankB , BankA具有各自银行的历史库存数据。让我们将它们合并到一个“Bank_Stocks.xlsx”文件中。这里我们使用的是 pandas.concat() 方法。
- python 3
# importing the required modules
import glob
import pandas as pd
# specifying the path to csv files
path = "C:/downloads"
# csv files in the path
file_list = glob.glob(path + "/*.xlsx")
# list of excel files we want to merge.
# pd.read_excel(file_path) reads the
# excel data into pandas dataframe.
excl_list = []
for file in excl_list:
excl_list.append(pd.read_excel(file))
# concatenate all DataFrames in the list
# into a single DataFrame, returns new
# DataFrame.
excl_merged = pd.concat(excl_list, ignore_index=True)
# exports the dataframe into excel file
# with specified name.
excl_merged.to_excel('Bank_Stocks.xlsx', index=False)
输出 :
总结
以上是Python如何将多个Excel文件合并为一个文件的全部内容,希望对你的有所帮助。
Claude、Netflix、Midjourney、ChatGPT Plus、PS、Disney、Youtube、Office 365、多邻国Plus账号购买,ChatGPT API购买,优惠码XDBK,用户购买的时候输入优惠码可以打95折