Я пытаюсь использовать этот код для разбора CSV-файл, но не могу найти свой путь вокруг этой ошибки:IndexError: список индексы вне диапазона CSV парсер
«Файл„(местоположение файла)“, строка 438, в parser_42
положение = tmp2 [1]
IndexError: индекс списка вне диапазона»
мой файл CSV структурирована следующим образом:
мутант коэффициент Sco повторно
Q41V -0,19 0,05
Q41L -0,08 0,26
Q41T -0,21 0,43
I23V -0,02 0,45
I61V 0,01 1,12
Я хочу взять мутантов и, например, отдельные «Q» 41 и V. Затем я хочу создать списки позиций и wt и поместить их в числовом порядке.
Цель состоит в том, чтобы написать строку «SEQ» в новый файл CSV
очевидно, я новичок в питона и данных манипуляций. Я предполагаю, что я просто упускаю из виду что-то глупое ... Может ли кто-нибудь направить меня в правильном направлении?
def parser_42(csv_in, fasta_in, *args):
with open(csv_in, 'r') as tsv_in:
tsv_in = csv.reader(tsv_in, delimiter='\t')
next(tsv_in) # data starts on line 7
next(tsv_in)
next(tsv_in)
next(tsv_in)
next(tsv_in)
next(tsv_in)
for row in tsv_in:
tmp = row[0].split(',')
tmp2 = re.split('(\d+)', tmp[0])
wt = tmp2[0]
position = tmp2[1]
substitution = tmp[2]
seq = ""
current_positions = []
if position not in current_positions:
current_positions += [position]
print(current_positions)
seq += wt
else:
continue
print(seq)
это выглядит как ваш CSV-файл имеет только одно значение для каждой строки и Youre пытаются Acces второго значения с 'tmp2 [1]' – Craicerjack
Вы, вероятно, есть пустая строка где-то, возможно, в конце файла. – TigerhawkT3
После разделения вы можете проверить длину результата, прежде чем перейти к индексам, которые не существуют. –