从python文件夹中的子文件夹中读取excel文件

2024-09-26 22:51:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从文件夹列表中读取子文件夹中的excel文件

directory_list = list()
for root, dirs, files in os.walk('D:/Sectors_Week_1/', topdown=False):
    for name in dirs:
        directory_list.append(os.path.join(root, name))
for root in roots:
    for i in range(len(dirs)):
        sourcepath=root+dirs[i]

        sourcefiles = os.listdir(sourcepath)
        #print(sourcefiles)   
        for j in sourcefiles:
            file_path = file_path = root+dirs[i]+ '/'+sourcefiles
            print(file_path)
           # df = pd.read_excel(file_path = root+dirs[i]+ '/'+sourcefiles[j])

我得到一个错误:只能将str(而不是“list”)连接到str。 我不知道读取excel文件的路径是什么


Tags: 文件pathnamein文件夹forosroot
1条回答
网友
1楼 · 发布于 2024-09-26 22:51:39

感谢@sammywemmy的编辑

请尝试现在是路径标准的模块:pathlib

查找所有excel文件:

from typing import List
import pathlib

def find_excel_files_in(directory:pathlib.Path) -> List[pathlib.Path]:
    files:List[pathlib.Path] = list()

    for filepath in directory.rglob('*.xlsx'):
        if filepath.is_file():
            files.append(filepath)

    return files

# List of your directories
directories:List[str] = ['D:/Sectors_Week_1/']

found_files:List[pathlib.Path] = list()

for directory in directories:
    directory:pathlib.Path = pathlib.Path(directory)
    found_files.extend(find_excel_files_in(directory))

for filepath in found_files:
    print(filepath)

相关问题 更多 >

    热门问题