import csv import glob import os # gpx layout from https://www.gps-data-team.com/convert/ gpx_header = '' gpx_entry = '{name}' gpx_end = '' def csv2gpx(file): gpx_file_name = file[:-3] + 'gpx' with open(gpx_file_name, 'w') as gpx_file: print('creating ' + file[:-3] + 'gpx') gpx_file.write(gpx_header) with open(file) as csv_file: scv_header = ['lat', 'lon', 'name', 'id'] dict_reader = csv.DictReader(csv_file, delimiter=',', quotechar='"', fieldnames=scv_header) for row in dict_reader: gpx_file.write(gpx_entry.format(lat=row['lat'], lon=row['lon'], name=row['name'])) gpx_file.write(gpx_end) os.remove(file) # comment out this line if you want to keep the csv for file in glob.glob("data/*.csv"): csv2gpx(file) print('finished csv2DaimlerGPX')