帮我写一个python代码,要求如下:遍历一个文件夹中的所有文件,找到“申请(专利权)人”一列中的内容与指定excel第一列中内容相等的行,并将他们保存在一个新的文件夹中
时间: 2024-04-14 19:26:09 浏览: 50
python遍历文件夹下所有excel文件
5星 · 资源好评率100%
当然可以!以下是一个用 Python 实现的代码示例:
```python
import os
import shutil
import pandas as pd
def find_and_copy_files(source_folder, target_folder, excel_file):
# 读取指定的 Excel 文件
excel_data = pd.read_excel(excel_file, header=None)
# 获取目标列的内容
target_column = excel_data.iloc[:, 0]
# 创建目标文件夹(如果不存在)
if not os.path.exists(target_folder):
os.makedirs(target_folder)
# 遍历源文件夹中的所有文件
for root, dirs, files in os.walk(source_folder):
for file in files:
file_path = os.path.join(root, file)
# 使用 pandas 读取文件数据
file_data = pd.read_excel(file_path)
# 找到匹配的行
match_rows = file_data[file_data['申请(专利权)人'].isin(target_column)]
# 如果有匹配的行,则将文件复制到目标文件夹中
if not match_rows.empty:
target_path = os.path.join(target_folder, file)
shutil.copy2(file_path, target_path)
source_folder = '/path/to/source/folder' # 源文件夹路径
target_folder = '/path/to/target/folder' # 目标文件夹路径
excel_file = '/path/to/excel/file.xlsx' # Excel 文件路径
find_and_copy_files(source_folder, target_folder, excel_file)
```
你需要将代码中的 `/path/to/source/folder` 替换为源文件夹的实际路径,`/path/to/target/folder` 替换为你希望保存匹配文件的目标文件夹路径,以及 `/path/to/excel/file.xlsx` 替换为你的 Excel 文件的实际路径。
请确保你已经安装了 pandas 库,并将其导入到代码中。你可以使用 `pip install pandas` 命令进行安装。
注意:此代码假设源文件夹中的所有文件都是 Excel 文件,且它们具有相同的列名和结构。如果你的文件不是 Excel 格式,或者它们具有不同的列名和结构,请在代码中进行相应的修改。
阅读全文