解析目录并检测意外空白

Parsing directories and detecting unexpected blanks

我正在尝试解析一些目录并识别文件夹 没有特定的正确模式。让我们举例说明:

Correct: Level1\Level2\Level3\Level4_ID\Date\Hour\file.txt
Incorrect: Level1\Level2\Level3\Level4\Date\Hour\file.txt

注意,错误的没有_ID。我的最终目标是解析数据,替换 '\' 作为要为 MS excel:

导入的定界符
Level1;Level2;Level3;Level4;ID;Date;Hour;file.txt
Level1;Level2;Level3;Level4; ;Date;Hour;file.txt

我已经成功解析了所有正确的数据,执行了以下步骤: 让文件成为我所有目录的列表

for i in arange(len(files)):
    processed_str = files[i].replace(" ", "").replace("_", "\")
    processed_str = processed_str.split("\")

我的问题是使用相同的脚本检测 Level4 文件夹下划线后是否有 ID,因为 "files" 包含正确和不正确的目录。 问题是,由于不正确的没有 ID,在执行 split("\") 之后,我最终将列混合在一起,在 Level4 和 Date 之间没有空白:

 Level1;Level2;Level3;Level4;Date;Hour;file.txt

谢谢,

拆分目录后检查“_ID”,这样就不会丢失信息。假设目录名称本身不包含转义的反斜杠并且 ID 字段始终处于级别 4(从 1 开始计数),应该这样做:

for i in arange(len(files)):
    parts = files[i].split("\")
    if parts[3].endswith("_ID"):
        parts.insert(4, parts[3][:-len("_ID")])
    else:
        parts.insert(4, " ")
    final = ";".join(parts)