чтение и сортировка файлов из каталога с циклом for в python - PullRequest
0 голосов
/ 30 июня 2018

Привет, ребята, У меня есть 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 .... ....

Мне нужно прочитать их и объединить те, которые начинаются с того же имени (B59) в цикле for, а затем присваивают словарным данным. Но я не мог найти автоматизированный способ для этого. Есть ли у вас предложения? >

data = {'B59': [], 'B62': [],

        'B65':[],

        'B67':[],

        'B68':[],

        'B79':[],

        'B80':[]}

Код работает хорошо, когда нет нескольких файлов, начинающихся с одного и того же имени. ЛЮБОЕ будет оценено, заранее спасибо. Лучший

для файла в glob.glob ("*. Npy"):

   experiment_id=file.split('_')[0]

   print(experiment_id)

   var = np.load(file)

  data[experiment_id]=var

1 Ответ

0 голосов
/ 02 июля 2018

Большое спасибо.

Перебор ваших текстовых файлов

С помощью приведенного ниже кода я могу создать словарь с ключами, которые имеют имена файлов. Так что я не должен писать это сам. Но все же словарь получает только первый файл npy, когда есть 2, начинающиеся с одного и того же имени.

А этот не сработал, поэтому я удалил его и данные [эксперимент_ид] .append (переменная)

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)

Как вы думаете, что можно добавить сюда?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...