python - 从python文件夹中的子文件夹中读取excel文件
问题描述
我想从文件夹列表中读取子文件夹中的 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(不是“列表”)连接到 str。我不知道读取 excel 文件的路径是什么。
解决方案
感谢@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)
推荐阅读
- mvvm - syncfusion 图表不显示数据
- json - 运行模板时出错,需要一个哈希,但这已评估为一个字符串(包装器:ftSimpleScalar):
- python - 并非所有散点都显示在 plot_surface
- gradle - 为什么我的 Kotlin Gradle 构建会因退出代码 137 而死?
- javascript - 我的倒数计时器会有问题吗?
- python-3.x - 如何注释子图python
- windows - 侦听弹出窗口并使用 Windows 批处理文件将其关闭
- mysql - 嵌套 SQL 查询在引用两个不同的数据库时不起作用
- excel - Excel 公式不断恢复为原始 UDF 名称
- c# - C# 搜索项目并在 Listview 中返回