【问题标题】:Import list of folder names in a folder with Python使用Python导入文件夹中的文件夹名称列表
【发布时间】:2018-04-23 20:45:09
【问题描述】:

所以我又开始尝试自动化某些东西了。我的最终游戏是在文件名中包含 Clean Up 的 Excel 文件中合并数据,并将这些文件中名为 LOV 的选项卡中的数据合并。所以基本上它必须进入一个文件夹,其中的文件夹又包含 2 个文件,一个文件在命名中带有 Clean Up 字样,并且是一个 .xlsx 文件。我只需要读取这些文件并将数据从名为 LOV 的选项卡中提取到一个大文件中。 --- 所以这就是我的最终目标。我刚刚开始,离我还很远,但现在你知道结局了。

目前我只是在主文件夹中获取文件夹名称列表,所以我至少知道它已经到那里了哈哈。

import os
import glob
import pandas as pd


# assigns directory location to PCC Folder
os.chdir('V:/PCC Clean Up Project 2017/_DCS Data SWAT Project/PCC Files 
Complete Ready to Submit/Brake System Parts')
FolderList = glob.glob('')

print(FolderList)

  • 感谢大家的帮助!

【问题讨论】:

  • 可能重复here
  • 如果你能指出我的方向。我看到的只是一个文件列表,我需要文件夹列表。
  • dir_names = [name for name in os.listdir(".") if os.path.isdir(name)] 为您提供从"." 开始的文件夹名称列表
  • os.listdir()SamRussoPalmer 有什么问题,你能更新一下你的预期输出吗

标签: python excel pandas


【解决方案1】:

已编辑

首先很难理解你的问题。但据我了解,您需要遍历文件夹和子文件夹,您可以使用

for root, dirs, files in os.walk(source): #Give your path in source
    for file in filenames:
        if file.endswith((".xlxs")): # You can check for any file extension
           filename = os.path.join(subdir,file)
           dirname = subdir.split(os.path.sep)[-1]  # gets the directory name
           print(dirname)

【讨论】:

  • 嘿,威尔,这似乎仍在给我文件名。我问的问题是文件夹名称。我添加了一张图片,因为我的措辞似乎令人困惑。
  • @SamRussoPalmer 请查看上面的答案并确认它是否适合您。如果它解决了您的问题,请接受答案
【解决方案2】:

如果您只想要当前目录中的文件夹列表,您可以使用os.path。以下是它的工作原理:

import os
directory = "V:/PCC Clean Up Project 2017/_DCS Data SWAT Project/PCC Files 
Complete Ready to Submit/Brake System Parts"
childDirectories = next(os.walk(directory))[1]

这将为您提供当前目录中所有文件夹的列表。

阅读更多关于os.walkhere的信息。

然后您可以使用os.chdir 进入其中一个子目录:

os.chdir(childDirectories[i])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 2017-01-25
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2018-08-21
    相关资源
    最近更新 更多