У меня есть огромная таблица, в которой я пытаюсь найти какие-то конкретные данные.
С одной стороны, у меня есть такие идентификаторы:
Y00988-11
G01024-14
Z01933-13
А с другой стороныУ меня есть массивная электронная таблица (CSV) в следующем формате:
Run,Sample,Source,Rate,
DFT,G01024-14,A,High
DFT,U04424-15,B,Low
TFF,T64673-18,A,Low
RRT,I01324-14,A,High
RRT,J01624-14,A,High
...
Я пытаюсь извлечь как 'Sample
' ID, так и 'Run
' идентификаторов, представляющих интерес.
Я прочитал электронную таблицу csv в словарь, используя встроенный считыватель, но у меня просто возникают проблемы с извлечением интересующих меня элементов.
import csv
import sys
# IDs of interest
dataset=sys.argv[1]
# CSV spreadsheet
database=sys.argv[2]
sampleIDs=[]
with open(dataset, 'r') as file:
for line in file:
line.strip('\n')
sampleIDs.append(line)
file.close()
seq_Dict=[]
finalList=['init']
with open(database, 'rb') as csvfile:
reader=csv.DictReader(csvfile, delimiter=',')
for line in reader:
seq_Dict.append(line)
csvfile.close()
for element in seq_Dict:
for key, value in element.items():
if element['Sample'] in sampleIDs:
finalList.pop()
finalList.append(element['Sample']+" "+element['Run'])
for i in finalList:
print(i)
Этот скрипт возвращает информацию о последнемИдентификатор в моих sampleID, так что я вижу, что то, что происходит во время цикла, перезаписывает предыдущую итерацию.Поэтому я использовал deepcopy
, но это не сработало.