来自CS50的PSet 6 DNA。
我有带有标题和值的CSV文件:
name,AGATC,TTTTTTCT,AATG,TCTAG,GATA,TATC,GAAA,TCTG
Albus,15,49,38,5,14,44,14,12
而且我有带有DNA序列的txt文件:
AAGGTAAGTTTAGAATATAAAAGGTGAGTTAAATAGAATAGGTTAAAATTAAAGGAGATCAGATCAGATCAGATCTATCTATCTATCTATCTATCAGAAAAGAGTAAATAGTTAAAGAGTAAGATATTGAATTAATGGAAAATATTGTTGGGGAAAGGAGGGATAGAAGG
我可以根据此数据制作有序词典:
OrderedDict([('name', 'Alice'), ('AGATC', '2'), ('AATG', '8'), ('TATC', '3')])
对于文本序列,我想用一个由CSV文件制成的字典作为一个空字典。
newdict = dict.fromkeys(reader.keys(),[]) - doesn`t work - the dictionary is ordered.
是否有可能从有序的字典(如果可能的话如何制作新字典?)或“普通”字典会更好?
使用Python 3.7。以下是您在寻找什么?:
dna_file
name,AGATC,TTTTTTCT,AATG,TCTAG,GATA,TATC,GAAA,TCTG
Albus,15,49,38,5,14,44,14,12
with open('/home/aklaver/dna.csv', newline=None) as dna_file:
header_line = dna_file.readline().rstrip().split(",")
header_line
['name', 'AGATC', 'TTTTTTCT', 'AATG', 'TCTAG', 'GATA', 'TATC', 'GAAA', 'TCTG']
dna_dict = dict.fromkeys(header_line, [])
dna_dict
{'name': [],
'AGATC': [],
'TTTTTTCT': [],
'AATG': [],
'TCTAG': [],
'GATA': [],
'TATC': [],
'GAAA': [],
'TCTG': []}