我正在使用panda阅读几个tsd文件并将它们组合成一个大框架。我使用glob来遍历我的目录和子目录中的所有文件。每一帧都有一个唯一的密钥。现在我想创建一个参考表,其中存储了每个键的文件名。但由于我不太了解glob,我不知道如何只获取文件的名称。
p = Path('myPath')
data = []
reference_table = {}
number_of_files = 0
for tsd_files in p.glob('**/*.tsd'):
data.append(pd.read_csv(str(tsd_files), delim_whitespace=True, header=None))
number_of_files = number_of_files + 1
whole_data = pd.concat(data, keys= list(range(number_of_files)))
答案 0 :(得分:3)
只需使用os.path.basename()
从路径中获取文件名。
p = Path('myPath')
data = []
reference_table = {}
number_of_files = 0
file_names = []
for tsd_files in p.glob('**/*.tsd'):
data.append(pd.read_csv(str(tsd_files), delim_whitespace=True, header=None))
number_of_files = number_of_files + 1
file_names.append(os.path.basename(tsd_files))
whole_data = pd.concat(data, keys= list(range(number_of_files)))
答案 1 :(得分:1)
让我们以 Pythonic 的方式使用 Path
。
from pathlib import Path
p = Path('dir')
filenames = [i.stem for i in p.glob('**/*.ext')]
p.glob('**/*.ext')
返回一个生成器对象,需要对其进行迭代以将其值取出,这是通过 [i for i in ..] 完成的
i.stem
表示带扩展名的文件名。