下面是 “利用Python pandas对Excel进行合并的方法示例”的完整实例教程。
1. 导入pandas库
首先要导入pandas库,因为我们将使用pandas对Excel文件进行操作。可以使用以下代码导入:
import pandas as pd
2. 读取Excel文件
接下来,我们需要读取需要合并的Excel文件。在这个例子中,我们将同时合并两个Excel文件’file1.xlsx’和’file2.xlsx’。使用以下代码读取这两个文件:
file1 = pd.read_excel('file1.xlsx')
file2 = pd.read_excel('file2.xlsx')
3. 合并Excel数据
我们使用pandas的concat()
函数来合并两个Excel文件的数据。以下是具体的代码:
merged_data = pd.concat([file1, file2], ignore_index=True)
这个代码块合并了file1和file2两个文件的数据,并将它们存储在merged_data中。’ignore_index=True’告诉pandas要重置合并数据的索引。
4. 将合并后的数据写入Excel
最后,我们使用pandas的to_excel()
函数将合并后的数据写入新的Excel文件’output.xlsx’中。以下是具体的代码:
merged_data.to_excel('output.xlsx', index=False)
‘index=False’告诉pandas不要将数据的索引写入Excel文件中。
示例1
我们假设我们有两个Excel文件,名为’Book1.xlsx’和’Book2.xlsx’,每个文件包含两个列,名为’Name’和’Age’。以下是这两个文件的数据的样子:
File 'Book1.xlsx':
| Name | Age |
|---------|--------|
| Alice | 25 |
| Bob | 30 |
File 'Book2.xlsx':
| Name | Age |
|---------|--------|
| Carol | 35 |
| David | 40 |
我们要将这两个文件合并成一个文件。使用上述步骤,我们可以定义以下Python代码:
import pandas as pd
book1 = pd.read_excel('Book1.xlsx')
book2 = pd.read_excel('Book2.xlsx')
merged_data = pd.concat([book1, book2], ignore_index=True)
merged_data.to_excel('merged_data.xlsx', index=False)
这个代码块将’Book1.xlsx’和’Book2.xlsx’合并成一个Excel文件’merged_data.xlsx’,和下面的结果一样:
Result 'merged_data.xlsx':
| Name | Age |
|---------|--------|
| Alice | 25 |
| Bob | 30 |
| Carol | 35 |
| David | 40 |
示例2
假设我们有一个Excel文件’orders.xlsx’,它包含有关订单的信息,包括订单号,订单日期和订单金额:
File 'orders.xlsx':
| Order ID | Date | Amount |
|----------|-----------|---------|
| 1001 | 01-Jan-20 | 1200 |
| 1002 | 01-Feb-20 | 800 |
| 1003 | 01-Mar-20 | 500 |
并且我们有另一个Excel文件’orderdetails.xlsx’,它包含有关订单细节的信息,如订单号,产品名称和单价:
File 'orderdetails.xlsx':
| Order ID | Product Name | Unit Price |
|----------|--------------|-----------|
| 1001 | A | 10 |
| 1001 | B | 5 |
| 1002 | C | 20 |
| 1002 | D | 15 |
现在我们想合并这两个文件,以在一个Excel文件中获得完整的订单信息。使用上述步骤,我们可以定义以下Python代码:
import pandas as pd
orders = pd.read_excel('orders.xlsx')
order_details = pd.read_excel('orderdetails.xlsx')
merged_data = pd.merge(orders, order_details, on='Order ID')
merged_data.to_excel('merged_orders.xlsx', index=False)
这个代码块将’orders.xlsx’和’orderdetails.xlsx’合并成一个Excel文件’merged_orders.xlsx’,并根据共同的列’Order ID’进行合并。合并后的Excel如下所示:
Result 'merged_orders.xlsx':
| Order ID | Date | Amount | Product Name | Unit Price |
|----------|-----------|---------|--------------|-----------|
| 1001 | 01-Jan-20 | 1200 | A | 10 |
| 1001 | 01-Jan-20 | 1200 | B | 5 |
| 1002 | 01-Feb-20 | 800 | C | 20 |
| 1002 | 01-Feb-20 | 800 | D | 15 |
| 1003 | 01-Mar-20 | 500 | - | - |
请注意,因为’orderdetails.xlsx’中缺少订单’1003’的信息,所以在合并后的结果中,订单’1003’出现了-的占位符。
这样就是完整的 “利用Python pandas对Excel进行合并的方法示例”的实例教程了。希望对你有所帮助!