텍스트 파일의 특정 줄을 사용하여 사전을 만들고 싶습니다. 여기 내 TEXTFILE에서 예는 (각각 '페이지'// '로 분리된다)텍스트 파일에서 특정 줄을 검색하고이를 사용하여 사전을 만듭니다.
//
UNIQUE-ID - INDOLE-3-ACETYL-BETA-4-D-GLUCOSE
TYPES - Compounds
COMMON-NAME - 4-<i>O</i>-(indol-3-ylacetyl)-β-D-glucose
DBLINKS - (HMDB "HMDB12213" NIL |kothari| 3594494404 NIL NIL)
INCHI - InChI=1S/C16H19NO7/c18-7-11-15(13(20)14(21)16(22)23-11)24-12(19)5-8-6-17-10-4-2-1-3-9(8)10/h1-4,6,11,13-18,20-22H,5,7H2/t11-,13-,14-,15-,16-/m1/s1
SMILES - C(C3(C(OC(=O)CC1(=CNC2(C=CC=CC1=2)))C(O)C(O)C(O)O3))O
SYNONYMS - indole-3-acetyl-β-4-D-glucose
//
UNIQUE-ID - CPD-6783
TYPES - Myo-inositol-bisphosphates
COMMON-NAME - D-<i>myo</i>-inositol (2,4) bisphosphate
DBLINKS - (HMDB "HMDB03905" NIL |kothari| 3608597114 NIL NIL)
DBLINKS - (PUBCHEM "25245743" NIL |taltman| 3466375284 NIL NIL)
INCHI - InChI=1S/C6H14O12P2/c7-1-2(8)5(17-19(11,12)13)4(10)6(3(1)9)18-20(14,15)16/h1-10H,(H2,11,12,13)(H2,14,15,16)/p-4/t1-,2-,3+,4-,5-,6-/m0/s1
//
가 사전로 시작하는 라인이 있어야'INCHI - InChI를 = '키와'DBLINKS을 containg 광고로서 - (HMDB '. 여기에 값 그리고 내 코드입니다 :
나에게 오류 unhashable 유형 제공data = open('compounds.dat', 'r', errors = 'ignore')
compounds = data.readlines()
INCHI_list = []
HMDB_list = []
dict_Inchi_HMDB = dict()
for i,line in enumerate(compounds):
if 'INCHI - InChI=' in line:
INCHI_list.append(line)
if 'DBLINKS - (HMDB' in line:
HMDB_list.append(line)
dict_Inchi_HMDB[INCHI_list] = HMDB_list
'목록 '나는 오류가 발생하지만 난 더 나은 함께 올 수 않네 왜 이해를. 접근 ... 누군가 도울 수 있습니까?
참고 : 'DBLINKS - (HMDB'는 항상 INCHI-InCh I = '이지만 줄 사이의 수는 다를 수 있습니다. 또한 데이터 파일에는 몇 백 개의 예제가 들어 있습니다. 각 '페이지'에 존재하지
당신이 개 목록은 당신이'dict_Inchi_HMDB = DICT (우편 (INCHI_list, HMDB_list))'작동 –