python利用正则表达式批量提取 文件夹下的ecxel文件名并保存到新的excel
时间: 2024-04-14 20:28:12 浏览: 178
要批量提取文件夹下的Excel文件名,并将其保存到新的Excel文件中,您可以使用Python的`os`、`re`和`pandas`库。以下是一个示例代码:
```python
import os
import re
import pandas as pd
# 文件夹路径
folder_path = "/path/to/folder"
# 正则表达式模式,用于匹配Excel文件名
pattern = r"(.+)\.xlsx"
# 获取文件夹下所有文件
files = os.listdir(folder_path)
# 使用正则表达式匹配文件名并保存
matches = [re.match(pattern, file) for file in files]
file_names = [match.group(1) for match in matches if match]
# 创建DataFrame对象保存提取结果
df = pd.DataFrame(file_names, columns=["Excel File Name"])
# 将DataFrame保存为Excel文件
df.to_excel("output.xlsx", index=False)
```
在上述代码中,我们首先指定了要扫描的文件夹路径`folder_path`,以及用于匹配Excel文件名的正则表达式模式`pattern`。然后,我们使用`os.listdir()`函数获取文件夹下所有文件的文件名,并使用正则表达式模式对文件名进行匹配,并保存匹配结果到`matches`列表中。接下来,我们使用列表推导式从匹配结果中提取出Excel文件名,并保存在`file_names`列表中。最后,我们使用`pandas`库创建一个DataFrame对象,将提取结果存入其中,并指定列名为"Excel File Name"。最后,使用DataFrame的`to_excel()`方法将数据保存到名为"output.xlsx"的Excel文件中。
希望这对您有所帮助!如果您还有其他问题,请随时提问。
阅读全文