首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用python中的for循环从目录中读取和排序文件

使用python中的for循环从目录中读取和排序文件
EN

Stack Overflow用户
提问于 2018-07-01 01:48:00
回答 1查看 89关注 0票数 -1

大家好,我在一个目录里有13个.npy文件。它们中的一些以相同的名称开头。示例:

B59_180322_153253.npy

B59_180322_173253.npy

B60_180324_153253.npy

B60_180324_173253.npy

B61_180324_173253.npy

B62_180324_173253.npy ...……

我需要读取它们,并在for循环中连接以相同名称(B59)开头的值,然后将其分配给字典数据。但我找不到一种自动化的方法来解决这个问题。你有什么建议吗?>

数据= {'B59':[],'B62':[],

'B65':[],'B67':[],'B68':[],'B79':[],'B80':[]}

当没有多个以相同名称开头的文件时,代码工作得很好。任何人都将不胜感激,提前谢谢。最好的

Glob.glob中文件的

(“*.npy”):

experiment_id=file.split('_')打印(Experiment_id) var =np.load(文件) dataexperiment_id=var

EN

回答 1

Stack Overflow用户

发布于 2018-07-02 08:34:50

非常感谢。

迭代您的txt文件

使用下面的代码,我可以创建具有文件名的键的字典。所以我不需要自己写。但是,当有2个文件以相同的名称开头时,字典仍然只获取第一个npy文件。

这个不起作用,所以我删除了它和dataexperiment_id.append(var)

代码语言:javascript
复制
direc = os.getcwd() # Get current working directory
text = '.npy' # Select your file delimiter

file_dict = {} # Create an empty dict

# Select only files with the ext extension
txt_files = [i for i in os.listdir(direc) if os.path.splitext(i)[1] == ext]

for f in txt_files:
   with open(os.path.join(direc,f)) as file_object:
   experiment_id=f.split('_')[0]
   print(experiment_id)
   file_dict[experiment_id]=np.load(f)

你认为可以在这里添加什么?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51117243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档