Я застрял на этой проблеме некоторое время, и я надеюсь, что кто-то может помочь.Я пытаюсь перебрать столбец row [1] в файле csv с именем transcripts_test.csv, и для каждой строки в строке [1] сопоставить одну и ту же строку в словаре, который я создал, под названием OCR_dict из другого файла csv с именем coors_test.csv.
transcripts_test.csv содержит:
ENST00000347869,chr3,50126341,50156454,1
ENST00000452166,chr14,21679063,21737583,2
ENST00000452166,chr14,21679063,21737583,2
coors_test.csv содержит:
chr3,141030221,141031065,Valid_10009,1000,+
chr6,141030221,141031065,Valid_10005,1000,+
chr14,141047080,141047610,Valid_10006,1000,+
Это мой код:
import csv
with open('coors_test.csv', mode='r') as coors_infile:
coors_reader = csv.reader(coors_infile)
for row in coors_reader:
chromo = row[0]
start = row[1]
end = row[2]
coordinates_list = [chromo,start,end]
OCR_dict = {row[3]:coordinates_list}
for keys,values in OCR_dict.items():
OCR_chromosome = values[0]
with open('transcripts_test.csv', mode='r') as transcripts_infile:
transcripts_reader = csv.reader(transcripts_infile)
for row in transcripts_reader:
transcript_chromosome = row[1]
if transcript_chromosome == OCR_chromosome:
print(transcript_chromosome, keys, OCR_chromosome)
Когда явыполнить код, приведенный выше, вывод, который я получаю:
chr14 Valid_10006 chr14
chr14 Valid_10006 chr14
Вывод, который я ищу:
chr3 Valid_10009 chr3
chr14 Valid_10006 chr14
chr14 Valid_10006 chr14
Почему мой код не совпадает и не печатает chr3 Valid_10009 chr3
?Любая помощь будет принята с благодарностью.Спасибо!