मेरे पास पायथन में निम्न टेक्स्ट प्रारूप है:

126    attr1,attr7,attr4 and attr8
1    attr6,attr2,attr9,attr78,attr23,attr56,attr75,attr77
5    attr5,attr3,attr2
7    attr0
67    attr12,attr13,attr14

तो मैं एक सूची में आईडी (126,1,5 आदि) को सहेजना चाहता हूं और प्रत्येक पंक्ति विशेषताओं को किसी सूची या निर्देश में सहेजना चाहता हूं। मैंने आईडी को निम्नलिखित कोड से सहेजा है लेकिन मैं विशेषताओं को सहेज नहीं सकता। यहाँ मेरा कोड है:

file = open("myfile.txt","r")
    lines = file.readlines()
    nodes = []
    skills = [] #or dict()
    for x in lines:
        nodes.append(x.split('\t')[0])
        skills.append(x.split(',')[0]) #i want a list of lists or a dict with attrs
0
Lee Yaan 4 अप्रैल 2018, 17:57

2 जवाब

सबसे बढ़िया उत्तर

मुझे लगता है कि यह चाल चलेगा:

for x in lines:
        x = x.split('\t')
        nodes.append(x[0])
        skills.append(x[1].split(','))
1
weulerfilho 4 अप्रैल 2018, 15:08

मैं इसके बजाय एक एकल शब्दकोश का उपयोग करने की सलाह दूंगा जिसमें ids इसकी कुंजी और attr मानों की सूची के रूप में है:

d = {}
file = open("myfile.txt","r")
lines = file.readlines()   
for line in lines:
    splitted = line.split()
    d.update({splitted[0]: splitted[1].split(',')})
print(d)

# {'126': ['attr1', 'attr7', 'attr4', 'attr8'], 
#    '1': ['attr6', 'attr2', 'attr9', 'attr78', 'attr23', 'attr56', 'attr75', 'attr77'],
#    '5': ['attr5', 'attr3', 'attr2'], 
#    '7': ['attr0'], 
#   '67': ['attr12', 'attr13', 'attr14']}                   
0
Austin 4 अप्रैल 2018, 15:20