Перебирать строки текстового файла, а затем возвращать словарь в python? - PullRequest
1 голос
/ 03 апреля 2011

Я должен написать функцию, которая откроет файл данных, где каждый файл данных похож на это:

WH239,  Mountain Bike Wheel,            5000

Где идентификатор WH239, описание «Колесо для горного велосипеда» истоимость - 5000

. Затем функция назначает идентификатор в качестве ключа в словаре, а описание и цену - в качестве значения. Я хотел создать цикл, который помещает каждую строку в список с удалением всех пробелов изатем назначьте соответствующий индекс ключу и значению словаря, так что я застрял на этом:

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, любая помощь приветствуется!

Извините, да, это домашняя работа, как и следовало ожидатьЯ не ожидаю ответа, просто точка в правильном направлении, я могу использовать только функции во встроенной библиотеке.

Ответы [ 2 ]

3 голосов
/ 03 апреля 2011

вы должны попробовать что-то вроде

doc = open('your file')
for line in doc.readline():
    if len(line) != 0:
        line.split(',')
0 голосов
/ 03 апреля 2011
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...