-2

file.txt

Harry Moon, Meteor \n roger gim, astronaut \n john banks, westpac \n john banks, ASB

コード:

FILE=file.txt
filename=open(FILE,"rt")
fileread=filename.readlines()
fileread.sort()
for i in fileread:
    dict={}
    dict[i.split(',')[0]]=i.split(',')[1]
    print dict

ということで、以下を取得することができました。

{'Harry Moon': ' Meteor\n'}
{'john banks': ' ASB'}
{'john banks': ' westpac\n'}
{'roger gim': ' astronaut\n'}

しかし、私が欲しいのはこれです:

{ 'Harry Moon': ' Meteor'
   , 'john banks': ' ASB'
   , 'john banks': ' westpac'
   , 'roger gim': 'astronaut' }
4

3 に答える 3

1

変数名として「dict」を使用しないでwithください。ファイルを開くときにも使用してください。

with open('file.txt') as f:
   result = dict(line.strip().split(',') for line in f)
于 2013-05-15T16:50:52.803 に答える
1
dict([line.strip().split(',') for line in open(FILE).readlines()])
于 2013-05-15T16:26:27.020 に答える
0

これを試して....

file_str = open(FILE).read()

d = {}
for line in file_str.splitlines():
    d[line.split(',')[0]] = line.split(',')[1]

print d

非常に簡潔なコードについては、John Smith Optionals answer もあります。

于 2013-05-15T16:28:13.067 に答える