In [1]:
import csv
import subprocess
import os
import json

In [7]:
with open('data/ls.csv', 'r') as f:
    dictReader = csv.DictReader(f)
    for a_dptm in dictReader:

        filename = a_dptm["file_name"].split('/')[-1]
        print(filename)
        bato_filename = "data/{}".format(filename)
        osm_filename = "{}_bus.osm".format(filename)
        shell_cmd = "conflate BATO.py -c results{}.json -i {} --osm {}".format(filename, bato_filename, osm_filename)

        subprocess.check_call([shell_cmd], shell = True)
                                  

        #subprocess.call(['conflate', 'BATO.py', '-c', 'results.json ' '-i', filename, '--osm', osm_filename], shell = True)


BATO_Ain.csv
BATO_Aisne.csv
BATO_Allier.csv
BATO_AlpesdeHauteProvence.csv
BATO_AlpesMaritimes.csv
BATO_Ardennes.csv
BATO_Aube.csv
BATO_Aude.csv
BATO_Aveyron.csv
BATO_bArdxe8che.csv
BATO_bArixe8ge.csv
BATO_BasRhin.csv
BATO_bBouchesduRhxf4ne.csv
BATO_bCorrxe8ze.csv
BATO_bCxf4tedOr.csv
BATO_bCxf4tesdArmor.csv
BATO_bDeuxSxe8vres.csv
BATO_bDrxf4me.csv
BATO_bFinistxe8re.csv
BATO_bHauteSaxf4ne.csv
BATO_bHautesPyrxe9nxe9es.csv
BATO_bHxe9rault.csv
BATO_bIsxe8re.csv
BATO_bLozxe8re.csv
BATO_bNixe8vre.csv
BATO_bPuydeDxf4me.csv
BATO_bPyrxe9nxe9esAtlantiques.csv
BATO_bPyrxe9nxe9esOrientales.csv
BATO_bRhxf4ne.csv
BATO_bSaxf4neetLoire.csv
BATO_bVendxe9e.csv
BATO_Calvados.csv
BATO_Cantal.csv
BATO_Charente.csv
BATO_CharenteMaritime.csv
BATO_Cher.csv
BATO_CorseduSud.csv
BATO_Creuse.csv
BATO_Dordogne.csv
BATO_Doubs.csv
BATO_Essonne.csv
BATO_Eure.csv
BATO_EureetLoir.csv
BATO_Gard.csv
BATO_Gers.csv
BATO_Gironde.csv
BATO_HauteGaronne.csv
BATO_HauteLoire.csv
BATO_HauteMarne.csv
BATO_HautesAlpes.csv
BATO_HauteSavoie.csv
BATO_HauteVienne.csv
BATO_HautRhin.csv
BATO_HautsdeSeine.csv
BATO_IlleetVilaine.csv
BATO_Indre.csv
BATO_IndreetLoire.csv
BATO_Jura.csv
BATO_Landes.csv
BATO_LoireAtlantique.csv
BATO_Loire.csv
BATO_LoiretCher.csv
BATO_Loiret.csv
BATO_Lot.csv
BATO_LotetGaronne.csv
BATO_MaineetLoire.csv
BATO_Manche.csv
BATO_Marne.csv
BATO_Mayenne.csv
BATO_MeurtheetMoselle.csv
BATO_Meuse.csv
BATO_Morbihan.csv
BATO_Moselle.csv
BATO_Nord.csv
BATO_Oise.csv
BATO_Orne.csv
BATO_PasdeCalais.csv
BATO_Sarthe.csv
BATO_Savoie.csv
BATO_SeineetMarne.csv
BATO_SeineMaritime.csv
BATO_SeineSaintDenis.csv
BATO_Somme.csv
BATO_Tarn.csv
BATO_TarnetGaronne.csv
BATO_TerritoiredeBelfort.csv
BATO_ValdeMarne.csv
BATO_ValdOise.csv
BATO_Var.csv
BATO_Vaucluse.csv
BATO_Vienne.csv
BATO_Vosges.csv
BATO_Yonne.csv
BATO_Yvelines.csv

In [3]:
# on ne garde que les éléments nouveaux
final_output = []
for file in os.listdir():
    
    if file.endswith(".json") and file.startswith("resultsBATO"): 
        print(file)
        with open(file, 'r') as input:
            results = json.load(input)
            output = []
            for elem in results['features']:
                if elem['properties']['action'] == "create":
                        output.append(elem)

        print(len(output))
        final_output += output
    else:
        continue
        
with open('results_final.json', 'w') as fp:
     json.dump({"type": "FeatureCollection", "features":final_output}, fp, indent=4)
        
print("total : {} arrêts manquants".format(len(final_output)))


resultsBATO_HauteGaronne.csv.json
236
resultsBATO_Savoie.csv.json
83
resultsBATO_Meuse.csv.json
6
resultsBATO_Var.csv.json
152
resultsBATO_Mayenne.csv.json
38
resultsBATO_bHautesPyrxe9nxe9es.csv.json
18
resultsBATO_Gers.csv.json
11
resultsBATO_bDrxf4me.csv.json
0
resultsBATO_Calvados.csv.json
15
resultsBATO_bArixe8ge.csv.json
10
resultsBATO_IndreetLoire.csv.json
12
resultsBATO_bArdxe8che.csv.json
3
resultsBATO_ValdeMarne.csv.json
4
resultsBATO_LotetGaronne.csv.json
54
resultsBATO_HauteMarne.csv.json
34
resultsBATO_Aisne.csv.json
50
resultsBATO_Moselle.csv.json
55
resultsBATO_AlpesMaritimes.csv.json
356
resultsBATO_LoireAtlantique.csv.json
48
resultsBATO_Gard.csv.json
31
resultsBATO_Marne.csv.json
23
resultsBATO_Vienne.csv.json
125
resultsBATO_bHxe9rault.csv.json
150
resultsBATO_CorseduSud.csv.json
1
resultsBATO_HauteVienne.csv.json
105
resultsBATO_bCxf4tesdArmor.csv.json
130
resultsBATO_bIsxe8re.csv.json
1252
resultsBATO_bVendxe9e.csv.json
42
resultsBATO_HauteSavoie.csv.json
57
resultsBATO_Jura.csv.json
15
resultsBATO_PasdeCalais.csv.json
121
resultsBATO_HauteLoire.csv.json
26
resultsBATO_SeineetMarne.csv.json
162
resultsBATO_Aveyron.csv.json
10
resultsBATO_bCxf4tedOr.csv.json
13
resultsBATO_Ain.csv.json
17
resultsBATO_Doubs.csv.json
16
resultsBATO_Cher.csv.json
17
resultsBATO_Essonne.csv.json
69
resultsBATO_Aube.csv.json
21
resultsBATO_Sarthe.csv.json
4
resultsBATO_Yvelines.csv.json
148
resultsBATO_Nord.csv.json
16
resultsBATO_Aude.csv.json
6
resultsBATO_BasRhin.csv.json
80
resultsBATO_Oise.csv.json
1296
resultsBATO_Ardennes.csv.json
18
resultsBATO_bFinistxe8re.csv.json
472
resultsBATO_bRhxf4ne.csv.json
103
resultsBATO_bPyrxe9nxe9esOrientales.csv.json
110
resultsBATO_bBouchesduRhxf4ne.csv.json
331
resultsBATO_bSaxf4neetLoire.csv.json
39
resultsBATO_IlleetVilaine.csv.json
28
resultsBATO_Morbihan.csv.json
179
resultsBATO_Cantal.csv.json
11
resultsBATO_ValdOise.csv.json
23
resultsBATO_bDeuxSxe8vres.csv.json
198
resultsBATO_Indre.csv.json
23
resultsBATO_SeineMaritime.csv.json
45
resultsBATO_Gironde.csv.json
357
resultsBATO_TerritoiredeBelfort.csv.json
114
resultsBATO_Eure.csv.json
5
resultsBATO_Vaucluse.csv.json
33
resultsBATO_bPyrxe9nxe9esAtlantiques.csv.json
139
resultsBATO_Lot.csv.json
55
resultsBATO_HautesAlpes.csv.json
1
resultsBATO_Manche.csv.json
16
resultsBATO_Dordogne.csv.json
242
resultsBATO_Somme.csv.json
44
resultsBATO_LoiretCher.csv.json
51
resultsBATO_Landes.csv.json
155
resultsBATO_Loiret.csv.json
9
resultsBATO_TarnetGaronne.csv.json
12
resultsBATO_Charente.csv.json
144
resultsBATO_MeurtheetMoselle.csv.json
56
resultsBATO_CharenteMaritime.csv.json
95
resultsBATO_Tarn.csv.json
26
resultsBATO_Loire.csv.json
20
resultsBATO_Allier.csv.json
32
resultsBATO_MaineetLoire.csv.json
94
resultsBATO_Creuse.csv.json
108
resultsBATO_bNixe8vre.csv.json
17
resultsBATO_bLozxe8re.csv.json
13
resultsBATO_bHauteSaxf4ne.csv.json
53
resultsBATO_HautRhin.csv.json
35
resultsBATO_AlpesdeHauteProvence.csv.json
5
resultsBATO_bCorrxe8ze.csv.json
70
resultsBATO_Yonne.csv.json
25
resultsBATO_HautsdeSeine.csv.json
2
resultsBATO_Vosges.csv.json
46
resultsBATO_bPuydeDxf4me.csv.json
14
resultsBATO_EureetLoir.csv.json
15
resultsBATO_SeineSaintDenis.csv.json
4
resultsBATO_Orne.csv.json
10
total : 8835 arrêts manquants