遍历一个文本文件的行,然后在python返回一个字典?

问题描述:

我应该写一个函数,将打开一个数据文件,其中每个数据文件类似于此:遍历一个文本文件的行,然后在python返回一个字典?

WH239, Mountain Bike Wheel,   5000 

其中ID为WH239,描述为“山地自行车轮”,成本为5000

然后函数将id作为字典中的键并将描述和价格分配为值,我想要做的就是创建一个循环,将每行放入一个列表中,并将所有空格分开,然后分配相应的索引该词典的键和值,到目前为止,我卡在此:

def load_parts(): 
    doc = open('parts.txt', 'U') 
    data = doc.read() 
    data = data.split('\n') 
    for item in data:  
     formatted_line = item.split(',') 

我还没有得到在剥离空白,因为当我告诉它在返回formatted_line for循环它只返回数据的第一个元素。

我只能用内置于Python命令,任何帮助表示赞赏!

对不起,是啊,是的功课,因为可以预料我不期待一个答案,只是在正确的方向上来看,我只能在内置库使用的功能。

+0

请标记与'homework'标签如果功课。 – user470379 2011-04-03 04:00:14

+0

这功课吗? – Amber 2011-04-03 04:00:29

+0

只有'内置in'命令?还是允许使用标准Python库的元素,如['csv'](http://www.python.org/doc//current/library/csv.html)模块? – Johnsyweb 2011-04-03 04:03:02

你应该尝试像

doc = open('your file') 
for line in doc.readline(): 
    if len(line) != 0: 
     line.split(',') 
+0

谢谢!这正是我需要的! – Sean 2011-04-03 04:21:57

+0

@Sean:[欢迎使用*](http://*.com/faq#howtoask)。 “谢谢!”最好用最能帮助你的答案旁边的绿色勾号表示。 – Johnsyweb 2011-04-03 04:28:46

code: 
    import sys,os 
    lis = [] 
    my_dict = {} 

    def load(): 
     doc = open('/home/sahil/python/file.txt','U') 
     data = doc.read() 
     data = data.split('\n') 
     for item in data: 
      formatted_line = item.split(',') 
      lis.append(formatted_line) 
     return lis 



    def assign(enter_the_list): 
     length = len(enter_the_list)-1 
     for item in range(length): 
      k= enter_the_list[item] 
      my_dict[k[0]] = k[1].strip(' ')+' '+k[2].strip(' ') 
     print my_dict 

    if __name__ == "__main__": 
     k = load() 
     assign(k)