Модуль Python и simplekml не может сохранить файлPython

Программы на Python
Ответить
Anonymous
 Модуль Python и simplekml не может сохранить файл

Сообщение Anonymous »

У меня есть текстовый файл, который я пытаюсь обработать и содержащий два фрагмента данных, и поместил его в файл KML для использования в Google Earth.
В текстовом файле есть повторяющиеся элементы. строки, которые выглядят следующим образом:
302201300410005,$GPRMC,142003.800,V,4340.4448,N,07924.9643,W,0.00,187.31,060919,,,N,V*16
302201300410005,+CCI: 3022013,-32,99.9,32,412.3125,78,27,42,-68

Строка с $GPRMC — это выходные данные GPS-приемника, строка с +CCI — это выходные данные радиоприемника с различными параметрами, которые я пытаюсь зарегистрировать.
Цель состоит в том, чтобы создать файл KML, в котором каждая точка широты и долготы будет отмечена данными радиоприемника в описании точки.
Основная проблема, с которой я столкнулся, заключается в том, что я могу ни за что не получу сгенерированный файл KML. Я более или менее следую руководству по SimpleKML, используя:
kml.save=('file.kml')

Теперь я попробовал только имя файла и полный путь, но файл не был создан. Ошибок тоже нет, не знаю, что происходит.
Я использовал print(kml.kml()) и получил ожидаемый результат, не знаю, почему файл не сохраняется.
Я не программист, я использую Python, потому что мне (в целом) легко автоматизировать некоторые наиболее монотонные вещи.
Код:
#import LA_names
import os
import csv
import simplekml

ccilist = ("MNI","RSSI","BER","LA","Freq","C1","nLA","nC2","nRSSI")
latlong = False
data = False
desc = ''

fp=input('Enter file path: ')
check_fp = os.path.isfile(fp)

kml = simplekml.Kml(open=1)

single_point = kml.newpoint(name="World",coords=[(0.0,0.0)])

if check_fp == True:
with open(fp) as file_obj:
reader_obj = csv.reader(file_obj)
for row in reader_obj:

if '$GPRMC' in row:
latlong = False
lat = int(str(row[4])[:2])
lat_mm = float(str(row[4])[2:])
lat = lat + (lat_mm/60)
if row[5] == 'S':
lat = -abs(lat)

long = int(str(row[6])[:3])
long_mm = float(str(row[4])[2:])
long = long + (long_mm/60)
if row[7] == 'W':
long = -abs(long)
latlong = True
#print(f"LAT:{lat}\tLONG:{long}")

if '+CCI: 3022013' in row:

desc = f"RSSI:{row[2]}dBm\nLA:{row[4]}\nFreq:{row[5]}MHz\nC1:{row[6]}\nnLA:{row[7]}\nnC2:{row[8]}\nnRSSI:{row[9]}dBm"
data = True

if latlong == True and data == True:

pnt = kml.newpoint()
pnt.description = desc
pnt.coords = [(long, lat)]
pnt.shape = 'circle'
latlong = data = False

kml.save=('Test.kml')

#print (kml.kml())

else:
print ("File Not Found")


Подробнее здесь: https://stackoverflow.com/questions/792 ... ave-a-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»