Skip to content

Le jeu IRVE Indigo est en UTF-16 #4771

@thbar

Description

@thbar

En utilisant le script de comparaison ici:

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    IRVESujets liés aux données d'infrastructures de recharge pour véhicule électrique

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions