遍历不同的文件夹

Iterate through different folders

我目前在一个包含许多不同文件夹的目录中。这些文件夹以日期和时间“YYYY_MM_DD_HH-MM-SS-SSS”命名。

我现在需要从一个文件夹迭代到另一个文件夹:

A) 将文件夹命名中的每个日期和时间存储在一个连续数组中。

B) 进入该文件夹,读取 .xlxs 文件,并将数据存储在数组中

C) 退出文件夹并转到下一个文件夹。

不幸的是,我对B只有一个想法,比如:

 pd.read_excel(("{fname}/NAMEOFEXCELFILE.xlsx".format(fname = newpath)), skiprows = 1, header = None, usecols = [5])

有没有人对“从文件夹移动到文件夹”部分有任何想法,包括节省时间的部分?

基本上在 运行 代码之后,我需要一个带有时间的数组 A 和一个与数组 A 长度相同的数组 B,其中包含 excel 文件中的值。

glob 模块可以帮助您遍历文件夹和子文件夹 https://docs.python.org/3/library/glob.html

您可以使用 Path.iterdir 遍历文件夹。假设当前工作目录是包含所有日期时间文件夹的目录,并且它们是那里唯一的东西,您可以像这样遍历每个文件夹:

from pathlib import Path

# ...

folder_names = []
spreadsheet_contents = []

current_directory = Path.cwd()
for folder in current_directory.iterdir():
    folder_names.append(folder.name)

    spreadsheet_path = folder / "spreadsheet.xlsx"
    spreadsheet_contents.append(pd.read_excel(spreadsheet_path, ...))

请注意,文件夹名称仍将是字符串。如果要解析实际的日期和时间,可以使用datetime.strptime.