自动化文件管理:使用Python创建匹配Excel数据的文本文件

发布时间 2023-12-18 20:57:17作者: 不上火星不改名

介绍

在日常工作中,我们经常需要处理大量的数据和文件。尤其是在处理涉及多层嵌套目录和数据文件时,手动操作变得极其繁琐和耗时。为了提高效率,自动化这一过程显得尤为重要。

本博客介绍了一个实用的Python脚本,它能够自动读取Excel表格中的数据,并在相应的文件夹中创建文本文件。这个程序首先读取Excel表格的第一列,这一列包含了要查找的文件夹名称。然后,它遍历指定父目录下的所有子目录,寻找与Excel表中名称相匹配的文件夹。一旦找到匹配的文件夹,程序就会在该文件夹中创建一个新的文本文件,文件名基于Excel表格中该行的第二列数据。

import os
import openpyxl
from pathlib import Path

def create_text_file(folder_path, file_name):
    with open(Path(folder_path) / f"{file_name}.txt", 'w') as f:
        pass

def find_and_create_files(excel_path, parent_dir):
    # 加载Excel文件
    workbook = openpyxl.load_workbook(excel_path)
    sheet = workbook.active

    # 读取第一列和第二列数据
    folder_names = [cell.value for cell in sheet['A'] if cell.value is not None]
    file_titles = [cell.value for cell in sheet['B'] if cell.value is not None]

    # 遍历父目录下的所有子目录
    for root, dirs, files in os.walk(parent_dir):
        for dir_name in dirs:
            if dir_name in folder_names:
                index = folder_names.index(dir_name)
                create_text_file(Path(root) / dir_name, file_titles[index])

def main():
    excel_path = input("请输入Excel表格的完整路径: ")
    parent_dir = input("请输入父目录的完整路径: ")
    find_and_create_files(excel_path, parent_dir)

if __name__ == "__main__":
    main()