#python #dictionary #txt
#питон #словарь #текстовый текст
Вопрос:
Я знаю, что варианты этого уже задавались раньше, но я все еще пытаюсь переместить текстовый файл в словарь. В текстовом файле имена и суммы разделены символом «:». У меня возникли проблемы с функцией strip, которая не удаляет пустые строки. Еще одна проблема, с которой я сталкиваюсь, заключается в том, что если две строки имеют один и тот же ключ, я хотел бы суммировать значения. Я все еще относительно новичок в python, поэтому буду признателен за любую помощь!
Комментарии:
1. добро пожаловать в SO, вы должны вставить код, а не изображения, добавить пример того, что вы пробовали и в чем проблема.
2. Этот файл выглядит довольно сломанным для меня. Что с этим?
3. Функция strip не удаляет пустые строки. Он удаляет пробелы в начале и конце строки. Если строка пуста, вы останетесь с пустой строкой, вам нужно пропустить это самостоятельно.
4. Например.
line = line.strip()
за которым следуетif line == '': continue
Ответ №1:
очень просто, но небезопасно, есть много мест, где ваша программа может выйти из строя, но вас, вероятно, это не волнует
def loadToDict(path):
f = open(path)
d = {}
for line in f:
line = line.strip()
if line == "": # ignore empty line
continue
key, value = line.split(":") # decompose
if key in d: # contains so add
d[key] = int(value)
else:
d[key] = int(value)
return d