我来为你讲解“利用Python pandas对Excel进行合并的方法示例”的完整实例教程。
1. 确定需要合并的表格
首先我们需要明确需要合并哪些Excel表格。假设我们需要合并以下两个表格:
表格1:orders_2021.xlsx
order_id | customer_id | amount |
---|---|---|
1 | 1001 | 200.50 |
2 | 1002 | 500.00 |
3 | 1003 | 120.75 |
表格2:orders_2022.xlsx
order_id | customer_id | amount |
---|---|---|
4 | 1004 | 350.25 |
5 | 1001 | 75.50 |
6 | 1002 | 420.00 |
2. 导入需要的Python库
我们需要导入pandas库和os库,在Python中输入以下代码:
import pandas as pd
import os
3. 定义一个合并函数
我们可以写一个函数来合并表格,函数代码如下:
def merge_excels(folder_path, output_file):
first_file = True
for file_name in os.listdir(folder_path):
if file_name.endswith('.xlsx'):
file_path = os.path.join(folder_path, file_name)
# 读取Excel表格
df = pd.read_excel(file_path)
# 合并表格
if first_file:
merged_df = df
first_file = False
else:
merged_df = pd.concat([merged_df, df], ignore_index=True)
# 保存合并后的表格
merged_df.to_excel(output_file, index=False)
该函数需要传入两个参数:文件夹路径和输出文件名。该函数会读取指定文件夹中的所有Excel文件,将它们合并成一个数据框,并将数据框保存到指定的输出文件中。
4. 合并表格
接着我们调用该函数来合并表格。假设我们将两个表格存储在名为“orders”的文件夹中。我们可以这样调用该函数:
folder_path = 'orders'
output_file = 'all_orders.xlsx'
merge_excels(folder_path, output_file)
运行该代码后,我们将会得到一个名为“all_orders.xlsx”的Excel表格,其中包含了两个表格的内容。
5. 示例说明
现在,我们用两个表格来分别说明一下合并方法的具体作用。
示例1:
表格1:user_2021.xlsx
user_id | user_name | |
---|---|---|
1001 | Bob | bob@example.com |
1002 | Alice | alice@example.com |
1003 | Mike | mike@example.com |
表格2:user_2022.xlsx
user_id | user_name | |
---|---|---|
1004 | John | john@example.com |
1005 | Jane | jane@example.com |
1006 | Tom | tom@example.com |
我们可以将表格1和表格2合并成一个名为“all_user.xlsx”的新表格。我们可以使用示例代码中的函数来合并这两个表格:
folder_path = 'user'
output_file = 'all_user.xlsx'
merge_excels(folder_path, output_file)
最终的合并结果如下:
user_id | user_name | |
---|---|---|
1001 | Bob | bob@example.com |
1002 | Alice | alice@example.com |
1003 | Mike | mike@example.com |
1004 | John | john@example.com |
1005 | Jane | jane@example.com |
1006 | Tom | tom@example.com |
示例2:
表格1:sales_2021.xlsx
sale_id | sale_date | amount |
---|---|---|
1 | 2021-01-01 | 100.00 |
2 | 2021-02-01 | 200.00 |
3 | 2021-03-01 | 300.00 |
表格2:sales_2022.xlsx
sale_id | sale_date | amount |
---|---|---|
4 | 2022-01-01 | 150.00 |
5 | 2022-02-01 | 250.00 |
6 | 2022-03-01 | 350.00 |
我们可以将表格1和表格2合并成一个名为“all_sales.xlsx”的新表格,并按照销售日期排序。我们可以使用示例代码中的函数来合并这两个表格:
folder_path = 'sales'
output_file = 'all_sales.xlsx'
merge_excels(folder_path, output_file)
df = pd.read_excel(output_file)
df.sort_values('sale_date', inplace=True)
df.to_excel(output_file, index=False)
最终的合并结果如下:
sale_id | sale_date | amount |
---|---|---|
1 | 2021-01-01 | 100.00 |
2 | 2021-02-01 | 200.00 |
3 | 2021-03-01 | 300.00 |
4 | 2022-01-01 | 150.00 |
5 | 2022-02-01 | 250.00 |
6 | 2022-03-01 | 350.00 |
以上就是利用Python pandas对Excel进行合并的方法示例的完整实例教程。希望能对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用Python pandas对Excel进行合并的方法示例 - Python技术站