@brief: Script de génération de copies de fichier(s) en lisant les modifications dans un fichier CSV @info: Le fichier CSV doit respecter les conventions suivantes : * la première ligne correspond à l'entête du CSV et reprend tous les mots-clés à chercher * ensuite une ligne par fichier de sortie avec dans chaque cellule la valeur à remplacer """ import os.path import pandas as pd from common.arg_command_line import myargparse parser = myargparse(description=__doc__, add_args=['force', 'verbose']) parser.add_argument("inname", help="fichier d'origine") parser.add_argument("filecsv", help="fichier CSV des valeurs à attribuer") parser.add_argument("--out_folder", help="dossier de sortie") parser.add_argument("--sep", help="séparateur de colonnes", default=',') parser.add_argument( "--encoding", help="encodage du fichier inname et des fichiers de sortie", default='utf-8') args = parser.parse_args() # Ouverture du fichier CSV (traite tout en tant que texte avec dtype=str, sinon le replace derrière bug) data = pd.read_csv(args.filecsv, sep=args.sep, dtype=str, index_col=0) (nrow, ncol) = data.shape print("Le fichier {} contient :".format(args.filecsv)) print("* {} lignes, correspondant aux fichiers suivantes : {}".format(
#!/usr/bin/python3 """ Pour récuperer le plantage d'Arcgis... en test pour Leysse amont """ from shapely.geometry import Point import fiona from common.arg_command_line import myargparse from geom.dataset import BlueKenueRead_i3s import shapely.affinity as aff from shapely.geometry import mapping parser = myargparse(description=__doc__) parser.add_argument("inname", help="fichier i3s") parser.add_argument("outname", help="fichier shp (Polylignes Z)") parser.add_argument("--shift", type=float, nargs=2, help="decalage en X et Y (en metre)") args = parser.parse_args() schema = {'geometry': '3D LineString', 'properties': {'value': 'float'}} with BlueKenueRead_i3s(args.inname) as in_i3s: in_i3s.read_header() # with fiona.open(args.outname, 'w', 'ESRI Shapefile', schema) as layer: for i, (value, linestring) in enumerate(in_i3s.iter_on_polylines()): # if args.shift is not None: # linestring = aff.translate(linestring, xoff=args.shift[0], yoff=args.shift[1])