喜價值,我有一個文本文件中像這樣:Python字典,使每一個奇數行向密鑰和偶數行從文件
>NM_145914.2:212
TCTGATGGTAAAAGTCGAGGAGAAAGAAGA
>NM_000614.3:1086
ATTCAATTTAAAATCAGACTCTTTAGTTGA
>NM_012096.2:2808
CAGTTAAGGTTTCAAATTGTGGCAGGTGGT
>NM_173465.3:1682
GTGCGTCGGGTGAGAGAGGCCCCAGCGGCC
>NM_001198858.1:490
CAACCACCACAACCTGCTGGTCTGCTCGGT
......more lines in same style......
我要的是:
從上面的文件中讀取,使行1,3,5,7 ...到字典鍵和行2,4,5,8 ...到字典值。
我的代碼是:
query_dict = {}
nameAt = 1
sequenceAt = 2
while name in range(totalLines):
line1 = linecache.getline(filename, nameAt)
line2 = linecache.getline(filename, sequenceAt)
query_dict[line1] = line2
nameAt = nameAt + 2
sequenceAt = sequenceAt + 2
代碼的工作,但它的速度很慢,因爲我的文本文件的最低線爲20萬線。有沒有人有更好的方法來做到這一點?
非常感謝。
==============添加後續問題==================
這裏是FASTQ格式,與每個讀取(記錄)4行:
@>NM_052972.2:11:1054:1780:889
CTTCGACATCTCCGGCAACCCCTGGATCTG
+>NM_052972.2:11:1054:1780:889
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
@>NM_080660.3:12:914:1802:542
CCTGTATGGCTACTGCAACCTCAAGGATAA
+>NM_080660.3:12:914:1802:542
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
@>NM_176814.3:712:2706:4242:98
ACAGAGTAAAAGAGAGGCTGACTTAATAAA
+>NM_176814.3:712:2706:4242:98
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
...... more lines in same style ......
我想創建一個字典,關鍵是第一線和所述值在各4行記錄的第二線。
字典會是什麼樣子:
{'@>NM_052972.2:11:1054:1780:889':'CTTCGACATCTCCGGCAACCCCTGGATCTG',
'@>NM_080660.3:12:914:1802:542':'CCTGTATGGCTACTGCAACCTCAAGGATAA',
'@>NM_176814.3:712:2706:4242:98':'ACAGAGTAAAAGAGAGGCTGACTTAATAAA',
..... more keys and values ......
}
感謝。
您好,感謝你回答,它的工作。但只是想知道如何將fastq格式添加到字典中?fastq格式與我上面顯示的類似,但每條記錄有4行。所以要添加到字典中,我需要在每4行添加第一行(作爲關鍵字)和第二行(作爲值)。 – Xiangwu
@ user2068965我已更新解決方案。 –