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', enconding='UTF-8') 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')