#file #class #dictionary #python-3.4
#файл #класс #словарь #python-3.4
Вопрос:
Я написал этот код, определяющий класс
class OrderRecord:
"""Defines an OrderRecord class, suitable for use in keeping track of order records"""
import tools2
def __init__(self, string):
"""Creates a new OrderRecord object"""
string = string.split(',')
self.date = string[0]
self.location = string[1]
self.name = string[2]
self.colour = string[3]
self.order_num = string[4]
self.cost = 0
def cost_of_order(self):
"""Creates a list of the name and adds up the cost of each letter"""
letter = list(self.name)
for let in letter:
self.cost = self.cost self.tools2.letter_price(let, self.colour)
return self.cost
def __str__(self):
"""Calls the cost_of_order function and returns the split string in the required format"""
self.cost = self.cost_of_order()
return("Date: {0}nLocation: {1}nName: {2}nColour:
{3}nOrder Num: {4}nCost: {5:.2f}".format(self.date, self.location,
self.name, self.colour, self.order_num, self.cost))
Теперь мне нужно написать функцию, которая считывает файл, содержащий следующее:
20130902,Te Rakipaewhenua,Vinas,parauri,8638
20130909,Te Papaioea,McClary,kikorangi,11643
20131215,Kapiti,Labrie,kikorangi,65291
20141106,Waihopai,Labrie,ma,57910
и возвращает словарь, который имеет местоположение в качестве ключа и списки OrderRecords в качестве значений.
Я знаю, что это не слишком сложная задача, но я застрял на этом некоторое время, потому что я не могу понять, что для этого делать.
Любая помощь будет оценена.
Комментарии:
1. Пожалуйста, исправьте отступ в коде. Какой столбец в файле описывает местоположение?
2. Извините, это второй столбец.
Ответ №1:
Может быть, что-то вроде этого. Это не решение, но в нем есть то, что вам нужно, с некоторыми изменениями.
import collections
dct_result = collections.defaultdict(list)
for line in open('file_path'):
fields = line.split(',')
# index 1 being the second column
dct_result[field(1)].append(OrderRecord( some args ))