2010-08-18 56 views
0

我想線轉換成文本文件,從這個:在Python轉換的大量項目進入單項線列表

animal cat, mouse, dog, horse 
numbers 22,45,124,87 

這樣:

animal cat 
animal mouse 
animal dog 
animal horse 
numbers 22 
numbers 45 
numbers 124 
numbers 87 

我怎麼會做這種轉換在python中?

謝謝

回答

0

使用collections.defaultdict

你可能想搜索SO的類似問題。

4
with open('thefile.txt') as fin: 
    with open('result.txt') as fou: 
    for line in fin: 
     key, values = line.split(None, 1) 
     vs = [x.strip() for x in values.split(',')] 
     for v in vs: 
      fou.write('%s %s\n' % (key, v)) 
0

拉鍊,你可以這樣做:

inp="""animal cat, mouse, dog, horse 
numbers 22,45,124,87 
""" 
for line in inp.splitlines(): 
    key,data = line.split(None,1) 
    print '\n'.join("%s%8s" % line 
        for line in zip([key.strip()] * (data.count(',')+1), 
            (item.strip() for item in data.split(','))))