Python两层循环匹配两个excel
时间: 2023-07-05 19:26:45 浏览: 67
可以使用 Python 的 Pandas 库来实现两层循环匹配两个 Excel 文件。以下是一个示例代码:
```python
import pandas as pd
# 读取第一个 Excel 文件
file1_path = 'path/to/file1.xlsx'
df1 = pd.read_excel(file1_path)
# 读取第二个 Excel 文件
file2_path = 'path/to/file2.xlsx'
df2 = pd.read_excel(file2_path)
# 创建一个空的 DataFrame,用于存储匹配结果
result_df = pd.DataFrame(columns=['col1', 'col2', 'matched_col1', 'matched_col2'])
# 对第一个 Excel 文件的每一行进行循环
for index1, row1 in df1.iterrows():
# 对第二个 Excel 文件的每一行进行循环
for index2, row2 in df2.iterrows():
# 判断两行是否匹配
if row1['col1'] == row2['col1'] and row1['col2'] == row2['col2']:
# 如果匹配,将匹配结果添加到 result_df 中
result_df = result_df.append({
'col1': row1['col1'],
'col2': row1['col2'],
'matched_col1': row2['matched_col1'],
'matched_col2': row2['matched_col2']
}, ignore_index=True)
# 将匹配结果写入一个新的 Excel 文件
output_file_path = 'path/to/output_file.xlsx'
result_df.to_excel(output_file_path, index=False)
```
以上代码中,首先使用 Pandas 库读取两个 Excel 文件,然后对第一个 Excel 文件的每一行进行循环,在循环中对第二个 Excel 文件的每一行进行循环,判断两行是否匹配,如果匹配,则将匹配结果添加到一个新的 DataFrame 中。最后将匹配结果写入一个新的 Excel 文件中。
需要根据实际情况修改代码中的列名和文件路径。同时,如果两个 Excel 文件中的数据量非常大,循环匹配的时间可能会非常长,此时可以考虑使用其他算法优化匹配效率。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)