@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(
Example #2
0
#!/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])