В настоящее время я работаю над сценарием, который извлекает данные из двух источников, одним из которых является норвежский почтовый индекс.Норвежские почтовые индексы состоят из четырех цифр, а некоторые начинаются с нуля.
Вот код:
#This section loads data on Norwegian post codes and places into a dictionary where postcode is key
f = open("postoversikt.txt", "r");
f1 = open("PCODES_USER_TRIM.txt","r") #load the file with all the users.
fo = open("pcodes_out","w")
place = {}
times = {}
for line in f:
words = line.rsplit("\t");
place[str(words[0])] = words[1]; #Reverse these to change the key and value - Default key: postcode value: place
number = 0;
number_unique = 0;
number_alike = 0;
for line in f1:
number = number + 1;
words1 = line.rsplit(";");
if not words1[1] in times:
number_unique = number_unique + 1;
times[words1[1]] = 1;
else:
number_alike = number_alike + 1;
times[words1[1]] = times[words1[1]] + 1;
for key, value in times.items():
print key+";"+value+";"+words[key];
fo.write(key+";"+value+";"+words[key]+"\n");
print "Totalt antall objekter behandlet er: "+ str(number);
print "Hvorav antall unike var: "+ str(number_unique);
print "Antall like nummer ble funnet: " + str(number_alike);
Некоторые строки из PCODES_USER_TRIM:
75621;4517;45 - 65
35214;7650;25 - 45
55624;9015;25 - 45
09523;5306;45 - 65
09051;2742;25 - 45
88941;1661;18 - 25
Некоторые строки из postoversikt.txt:
0001 OSLO 0301 OSLO P
0010 OSLO 0301 OSLO B
0015 OSLO 0301 OSLO K
0016 OSLO 0301 OSLO K
0017 OSLO 0301 OSLO K
0018 OSLO 0301 OSLO G
0021 OSLO 0301 OSLO K
0022 OSLO 0301 OSLO K
Одна из возникающих проблем заключается в том, что почтовые индексы, начинающиеся с нуля, чередуются с начальным нулем.Я предполагаю, что это происходит из-за внутреннего преобразования в int (я только начинающий в Python, поэтому, пожалуйста, простите, если мои проблемы немного обыденные).Я хотел бы, чтобы они были в стандартном формате четырех чисел хххх.Моя вторая проблема, которая, как мне кажется, следует из моей первой, заключается в том, что я хочу добавить название почтового индекса к окончательной распечатке.Это не работает, так как я не могу использовать ключ для обозначения места словами.
Я использовал для преобразования объекта, который я печатаю, в строки, используя метод str (), но в текущей версии я воздержался от этого, так как хочу решить проблему с помощью корня.
Может кто-нибудь помочь мне с моей маленькой проблемой?Как я могу использовать rsplit, чтобы поместить строки в словарь слов без преобразования его в целые числа?