Я понимаю, что этот вопрос задавался и отвечался в прошлом, но у меня возникают проблемы с настройкой моего метода, чтобы избежать потери данных после повторных вызовов.
Мой метод:
def getColumn(self, name):
index_num = self.headers.index(str(name))
columns = [item[index_num] for item in self.container]
acco = self.accounts
del acco[0]
del columns[0]
columns = [item.replace(',', '') for item in columns]
return dict(zip(acco, columns))
self.container - это массив с заголовком, который имеет следующую форму:
[['ACCOUNT', 'VALUE1', 'VALUE2'],
['Account1', '3.43', '2.5'],
['Account2', '1,235.67', '8.98']]
self.accounts определяется как return [item[0] for item in self.container
То, что я пытаюсь сделать, это заархивировать учетные записи и значения в словаре, передав строку, соответствующую одному из имен заголовков. Метод ищет индекс в заголовке, а затем пытается извлечь столбец значений и удалить заголовок.
Каждый последующий вызов этого метода приводит к появлению словаря, длина которого уменьшается на 1 для каждого вызова. Когда я передаю «VALUE1», длина равна 26. Когда я передаю «VALUE2», его длина равна 25, и так далее.
Может кто-нибудь предложить способ сделать это без потери данных при последующих вызовах метода?