У меня есть этот набор данных, который выглядит следующим образом:
['Registration:1005227',
'FileNumber:A0485456',
'Status:Terminated',
'FAA\xa0Study:02-ANE-198-OE',
'Contact:Department,Regulatory(617)585-7600',
'Locatedin:\xa0ABINGTON,MALat/Long:42-06-48.0N070-56-58.0W\xa0',
'PaintingandLightingSpecifications:None',
'Registration:1015227',
'FileNumber:A0485451',
etc etc...]
... тысячи раз. Работая в пандах, я подумал, что если мне нужны только данные регистрации, широты и долготы, я бы перебрал каждую строку, обнаружил ключевые слова, а затем добавил фрагмент в словарь.
reg = "Registration"
lat = "Lat/"
long = "Long:"
d = {}
theList = []
for line in data:
if reg in line:
d["Registration"] = line[13:20]
if lat in line:
d["Lat"] = line[-24:-14]
if long in line:
d["Lng"] = line[-13:-2]
theList.append(d)
В конце концов, список словарей позволит мне создать фрейм данных. Проблема, с которой я сталкиваюсь, состоит в том, что цикл берет данные только из последней записи и добавляет их в 'theList' столько раз, сколько существует записей.
Я пытался поместить .append
вне цикла for
. Я пытался дать каждому выражению if
собственный цикл for
, но, похоже, ничего не работает. Что я делаю не так, и есть ли лучший способ подойти к этой проблеме?