遍历文件夹生成excel
时间: 2025-06-20 22:03:26 浏览: 9
### 使用Python遍历文件夹并将文件信息写入Excel
为了实现这一目标,可以利用`os`模块来遍历文件夹,并使用`pandas`库处理数据并将其保存至Excel文件。在此之前,确保安装了必要的第三方库:
```bash
pip install pandas openpyxl
```
下面是一段完整的Python脚本示例,该脚本能够读取指定路径下所有的`.xlsx`文件,并将这些文件的信息(如文件名、大小等)记录在一个新的Excel工作簿里。
#### 导入库
首先导入所需的库[^1]:
```python
import os
from pathlib import Path
import pandas as pd
```
#### 获取文件详情
定义一个获取文件基本信息的功能函数:
```python
def get_file_info(file_path):
"""获取单个文件的相关属性"""
file_stat = os.stat(file_path)
return {
'File Name': os.path.basename(file_path),
'Size (Bytes)': file_stat.st_size,
'Last Modified Time': pd.Timestamp.fromtimestamp(file_stat.st_mtime).strftime('%Y-%m-%d %H:%M:%S')
}
```
#### 遍历目录结构
编写逻辑以递归方式访问给定路径及其子目录内的所有项:
```python
def traverse_directory(directory, extensions=None):
"""
:param directory: 要扫描的目标文件夹路径.
:param extensions: 可选参数,过滤特定扩展名的文件,默认为空表示不过滤任何类型的文件.
:return: 文件信息字典列表.
"""
all_files_data = []
for root, _, files in os.walk(directory):
for name in files:
full_path = os.path.join(root, name)
if not extensions or any(full_path.lower().endswith(ext) for ext in extensions):
try:
single_file_data = get_file_info(full_path)
all_files_data.append(single_file_data)
except Exception as e:
print(f"Error processing {full_path}: {e}")
return all_files_data
```
#### 将结果存入Excel
最后一步是创建DataFrame对象并通过Pandas API把收集的数据存储到一个新的Excel文档中:
```python
if __name__ == '__main__':
target_folder = r'your_target_directory_here'
output_excel = './output_summary.xlsx'
# 收集所有 .xlsx 文件的信息
excel_files_details = traverse_directory(target_folder, ['.xlsx'])
df = pd.DataFrame(excel_files_details)
writer = pd.ExcelWriter(output_excel, engine='openpyxl')
df.to_excel(writer, index=False, sheet_name="Summary")
writer.close()
print(f"All done! The summary has been saved to '{output_excel}'")
```
上述代码片段展示了如何有效地组织和管理大量电子表格资源,同时也提供了灵活的操作接口以便于后续分析或报告生成需求[^4]。
阅读全文
相关推荐
















