下面是针对Python合并多个Excel的详细过程的完整实例教程。
1. 简介
在日常工作中,我们经常需要处理多个Excel表格。如果想要把这些表格汇总到一个Excel中,使用Python来进行自动化处理是一个不错的选择。本文将介绍如何使用Python合并多个Excel的详细过程。
2. 实现过程
2.1 安装依赖包
在使用Python合并多个Excel之前,我们需要安装一些必要的依赖包。可以使用如下命令来安装:
pip install pandas openpyxl xlrd
其中,pandas是Python数据分析库,openpyxl是一个可以读写Excel xlsx/xlsm文件的库,xlrd用于读取Excel文件。
2.2 读取Excel文件
首先,我们需要读取多个Excel文件,将数据存储到pandas.DataFrame中。可以使用如下代码来读取一个Excel文件:
import pandas as pd
df = pd.read_excel('file_path.xls')
如果需要读取多个Excel文件,可以使用for循环依次读取:
import pandas as pd
file_list = ['file_path1.xls', 'file_path2.xls', 'file_path3.xls']
df_list = []
for file in file_list:
df = pd.read_excel(file)
df_list.append(df)
2.3 合并Excel文件
将多个pandas.DataFrame合并成一个DataFrame,可以使用pandas.concat()函数。在此之前,需要为每一个DataFrame的数据添加一个标识符,以便后期进行分辨。可以使用for循环进行遍历,如下所示:
import pandas as pd
file_list = ['file_path1.xls', 'file_path2.xls', 'file_path3.xls']
df_list = []
for idx, file in enumerate(file_list):
df = pd.read_excel(file)
df['sheet_name'] = f'sheet{idx+1}'
df_list.append(df)
df = pd.concat(df_list, axis=0, ignore_index=True)
其中,axis=0表示按行方向合并,ignore_index=True表示重置DataFrame的索引。代码中,使用了f-string语法来生成sheet_name列的名称,其中idx+1表示当前循环的文件的索引号。
2.3.1 示例说明
假设我们有两个Excel表格,内容如下:
第一个Excel表格:
姓名 | 年龄 | 性别 |
---|---|---|
张三 | 20 | 男 |
李四 | 25 | 女 |
第二个Excel表格:
姓名 | 年龄 | 性别 |
---|---|---|
王五 | 30 | 男 |
赵六 | 35 | 女 |
我们希望把这两个表格合并成一个Excel表格。可以使用如下代码:
import pandas as pd
file_list = ['file1.xls', 'file2.xls']
df_list = []
for idx, file in enumerate(file_list):
df = pd.read_excel(file)
df['sheet_name'] = f'sheet{idx+1}'
df_list.append(df)
df = pd.concat(df_list, axis=0, ignore_index=True)
df.to_excel('merged.xlsx', index=False)
代码执行后,将生成一个名为merged.xlsx的Excel文件,其中包含合并后的两个表格的数据。
2.4 写入Excel文件
将合并后的pandas.DataFrame中的数据写入到Excel文件中,可以使用to_excel()函数。具体实现可以参考如下代码:
import pandas as pd
df.to_excel('merged.xlsx', index=False)
其中,index=False表示不输出索引到Excel文件中。
2.4.1 示例说明
假设我们有两个Excel表格,内容如下:
第一个Excel表格:
姓名 | 年龄 | 性别 |
---|---|---|
张三 | 20 | 男 |
李四 | 25 | 女 |
第二个Excel表格:
姓名 | 年龄 | 性别 |
---|---|---|
王五 | 30 | 男 |
赵六 | 35 | 女 |
我们希望把这两个表格合并成一个Excel表格,并将结果写入到文件中。可以使用如下代码:
import pandas as pd
file_list = ['file1.xls', 'file2.xls']
df_list = []
for idx, file in enumerate(file_list):
df = pd.read_excel(file)
df['sheet_name'] = f'sheet{idx+1}'
df_list.append(df)
df = pd.concat(df_list, axis=0, ignore_index=True)
df.to_excel('merged.xlsx', index=False)
代码执行后,将生成一个名为merged.xlsx的Excel文件,其中包含合并后的两个表格的数据。
3. 总结
本文介绍了使用Python合并多个Excel文件的详细过程,包括读取Excel文件、合并Excel文件和写入Excel文件。使用Python处理多个Excel文件可以提高工作效率,降低出错的风险。在实际应用中,需要根据具体的需求进行相应的调整和优化。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python合并多个excel的详细过程 - Python技术站