У меня аналогичная проблема слияния нескольких файлов на основе общего столбца, как https://superuser.com/questions/1245094 ... he-common- столбец. Я очень близок к решению, но я новичок в Python. Мне нужна помощь с настройкой кода для объединения нескольких файлов. Мои идентификаторы и столбцы для отдельного файла выглядят так:
Файл1.txt
id SRR1071717 chr1
id SRR1079830 chr1
id SRR1071717 SRR1079830 chr1
импортировать систему столбцы = [] данные = {} идентификаторы = установить() для имени файла в sys.argv[1:]: с open(filename, 'rU') как f: ключ = следующий(f).strip().split()[1] columns.append(ключ) данные[ключ] = {} для строки в f: если линия.strip(): идентификатор, значение = line.strip().split() пытаться: данные[ключ][int(id)] = значение кроме ValueError как exc: поднять ValueError( «Проблема в строке: '{}' '{}' '{}'».format( идентификатор, значение, line.rstrip())) ids.add(int(id)) print('\t'.join(['ID'] + столбцы)) для идентификатора в сортировке (идентификаторы): линия = [] для столбца в столбцах: line.append(данные[столбец].get(id, '0')) print('\t'.join([str(id)] + строка)) Я запустил код Python, как показано, но он работает неправильно (являюсь новичком в Python). Текущий вывод (только две строки!).
Файл python3 матрица.py\*.txt
Текущий результат
id SRR1071717 SRR1079830 chrY:9756574:+::chrY:9757796:+ 0 0