From a6cee628799f327978e3a1ec70878fa9c8930dc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Araujo=20Galav=C3=ADz?= Date: Sat, 18 Feb 2023 17:33:38 +0000 Subject: [PATCH] =?UTF-8?q?Dateien=20hochladen=20nach=20=E2=80=9E=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sample CSV format.csv | 3 +++ csv2kml.py | 55 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 Sample CSV format.csv create mode 100644 csv2kml.py diff --git a/Sample CSV format.csv b/Sample CSV format.csv new file mode 100644 index 0000000..5a3bcaf --- /dev/null +++ b/Sample CSV format.csv @@ -0,0 +1,3 @@ +Marca temporal,Lugar / Zona / Ubicación ,Sensor de presión,Modelo (sensor de presión),Arrancador,Modelo (arrancador),Caudalimetro ,Modelo (caudalimetro),Analizador de Potencia ,Modelo (analizador de Potencia),Interruptor de presión ,Modelo (interruptor de presión),RTU,Modelo (RTU),Modem,Modelo (Modem),Longitud,Latitud,ID del pozo,Sensor de nivel,Modelo (Sensor de nivel) +14/2/2023 9:41:44,Ciudad Universitaria ,"Si, funciona",Bdije7,No,NA,"Si, no funciona",Kdiu3,"Si, funciona",Jdjej7,No,Bejj3,"Si, funciona",Jdiy3,"Si, funciona",Jej28,19.72459,-101.18628,12345,"Si, no funciona",Djjeu3 +14/2/2023 9:41:48,Santiaguito ,"Si, funciona",Nsjdk,"Si, funciona",Na,"Si, funciona",Na,"Si, funciona",Na,"Si, funciona",Na,"Si, funciona",12828,"Si, funciona",Jajdkkd,19.69028,-101.19635,257382,"Si, funciona",Jsjdk \ No newline at end of file diff --git a/csv2kml.py b/csv2kml.py new file mode 100644 index 0000000..47c139c --- /dev/null +++ b/csv2kml.py @@ -0,0 +1,55 @@ +import csv +import simplekml + +def description(*argv): + """Creates a description block with the arguments of the function""" + + block = '' + check = 0 + for arg in argv: + if arg == argv[0] and check == 0: + block = block + arg + check = 1 + else: + block = block + '
' + arg + + return block + +# Open the CSV file and read its contents +with open(r'D:\aleja\Downloads\cosa\Sample CSV format.csv', 'r') as file: + reader = csv.reader(file) + headers = next(reader) + + # Create a KML document + kml = simplekml.Kml() + + # Iterate over the rows in the CSV file + for row in reader: + # Extract the data for each field in the row + name = row[1] + pressure = "Sensor de presion: " + row[2] + " " + row[3] + starter = "Arrancador: " + row[4] + " " + row[5] + flow = "Caudalimetro: " + row[6] + " " + row[7] + power = "Analizador de potencia: " + row[8] + " " + row[9] + switch = "Interruptor de presion: " + row[10] + " " + row[11] + rtu = "RTU: " + row[12] + " " + row[13] + modem = "Modem: " + row[14] + " " + row[15] + ID = "ID: " + row[18] + level = "Sensor de nivel: " + row[19] + " " + row[20] + + latitude = float(row[16]) + longitude = float(row[17]) + + + # Added function, arguments are data to be placed in description box + datos = description(name, ID, pressure, starter, flow, power, switch, rtu, modem, level) + + # Add a new point to the KML document + point = kml.newpoint(name=name, description=datos, coords=[(longitude, latitude)]) + point.style.labelstyle.scale = 1 + point.style.iconstyle.icon.href = 'http://maps.google.com/mapfiles/kml/shapes/water.png' + + + # Write the KML data to a file + print(kml.kml()) + kml.save(r'D:\aleja\Downloads\cosa\Output.kml') \ No newline at end of file