-
Notifications
You must be signed in to change notification settings - Fork 32
Description
En utilisant le script de comparaison ici:
- [WIP] Script de comparaison auto (data.gouv <-> PAN) sur PDC manquants, améliorations #4770 (qui analyse les identifiants de points de charge absents de notre fichier consolidé, mais présent dans data gouv, et qui remonte aux ressources associées)
J'ai vu qu'un gros fichier manquait (https://www.data.gouv.fr/datasets/689c957abf34e799e1bf365a, Indigo, 6k+ PDC).
J'ai passé ce script https://github.com/etalab/transport-site/blob/master/scripts/irve/process-one.exs en local dessus pour reproduire le souci, puis j'ai été voir pourquoi la colonne id_pdc_itinerance était considérée comme absente alors qu'elle est bien dans le fichier.
La réponse est dans l'encodage du fichier (UTF-16) qui n'est pas supporté par notre consolidation actuellement.
❯ xxd ~/Downloads/indigo-data-irve-statique.csv | head -10
00000000: fffe 6e00 6f00 6d00 5f00 6100 6d00 6500 ..n.o.m._.a.m.e.
00000010: 6e00 6100 6700 6500 7500 7200 3b00 7300 n.a.g.e.u.r.;.s.
00000020: 6900 7200 6500 6e00 5f00 6100 6d00 6500 i.r.e.n._.a.m.e.
00000030: 6e00 6100 6700 6500 7500 7200 3b00 6300 n.a.g.e.u.r.;.c.
00000040: 6f00 6e00 7400 6100 6300 7400 5f00 6100 o.n.t.a.c.t._.a.
00000050: 6d00 6500 6e00 6100 6700 6500 7500 7200 m.e.n.a.g.e.u.r.
00000060: 3b00 6e00 6f00 6d00 5f00 6f00 7000 6500 ;.n.o.m._.o.p.e.
00000070: 7200 6100 7400 6500 7500 7200 3b00 6300 r.a.t.e.u.r.;.c.
00000080: 6f00 6e00 7400 6100 6300 7400 5f00 6f00 o.n.t.a.c.t._.o.
00000090: 7000 6500 7200 6100 7400 6500 7500 7200 p.e.r.a.t.e.u.r.
La marque FFFE au début (0xFF 0xFE) est le BOM UTF-16 "little endian".
On voit après que chaque caractère est séparé du reste par un 0 au lieu d'être collé.
Je vais voir avec @AurelienC si il peut contacter le producteur (et faire un hotfix en attendant si c'est simple), pour qu'on puisse récupérer ce gros volume de PDC.