2013-05-10 66 views
0

我需要使用格式文件:在Python中,我怎樣才能從一個文本文件中寫入每個單詞是不同的元素?

product1,33,84 
product2,18.50,72 
product3,22,96 

,並需要寫格式的元素列表:寫代碼的時候

['product1', '33', '84', 'product2', '18.50', '72', 'product1', '22', '96'] 

然而,最近的我能得到是:使用的代碼

[['product1', '33', '84'], ['product2', '18.50', '72'], ['product1', '22', '96']] 

for line in productList.readlines(): 
    line = line.replace(",", " ") 
    line = line.strip("\n") 
    line = line.split(" ") 
    products.append(line) 

我該如何寫元素或合併這些嵌套列表?

+0

爲什麼不使用'csv'模塊? – squiguy 2013-05-10 01:14:14

回答

2

你快到了。你只需要products.extend(line)而不是appendextend方法將迭代器的每個元素(在本例中爲line)添加到列表(products)中,而不是一次將所有項添加到列表中,這是append的作用。因此,最終的代碼(凝聚少許)看起來是這樣的:

for line in productList.readlines(): 
    line = line.replace(",", " ").strip("\n").split(" ") 
    products.extend(line) 
1
>>> import csv 
>>> from itertools import chain 
>>> with open('data.csv') as f: 
     print list(chain.from_iterable(csv.reader(f))) 


['product1', '33', '84', 'product2', '18.50', '72', 'product3', '22', '96'] 
相關問題