Comment conserver les zéros non significatifs dans le fichier csv lorsque vous travaillez avec QGIS

8

Je suis nouveau sur QGIS et les systèmes d'information géographique en général et je n'ai aucune expérience en informatique.

J'ai un fichier de formes qui fonctionne bien, puis j'ai un fichier au format CSV, et j'essaie de joindre ces deux fichiers, en utilisant une colonne qui devrait être égale entre deux fichiers. Le problème est que certains des numéros ont des zéros en tête (il s'agit d'une sorte de code postal dans mon pays), qui disparaissent du fichier CSV lorsque je l'importe dans QGIS ...

Existe-t-il un moyen simple de conserver les zéros en tête?

Dans le fichier de formes, les zéros non significatifs ne disparaissent pas.

João Santos
la source
Certainement, vous devez traiter les champs de code postal comme des chaînes / du texte.
Alexandre Neto

Réponses:

9

Vous pouvez spécifier des valeurs de type à l'aide d'un fichier CSVT, comme suit:

"Integer(6)","Real(5.5)","String(22)"

Si votre fichier csv est nommé, data.csvvous nommerez votre fichier csvt data.csvt.

Anita Graser (ici connue sous le nom d'Underdark) a écrit un article de blog à ce sujet. Il est disponible sur: https://anitagraser.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/

Je voudrais également consulter ce Q / A pour plus d'informations.

Edit: pour être plus précis, vous devez spécifier votre colonne comme "String" pour garder les zéros en tête . Une autre option serait également d'utiliser la lpad()fonction de la calculatrice . Voir Q / R suivant .

Par exemple : lpad('22', 4, 0), will return '0022'

simo
la source
Je me demande qui a inventé cet exemple, mais il revient 2200pour moi. Au lieu de cela, je suggère un rembourrage gauche , comme expliqué dans gis.stackexchange.com/questions/208686/…
AndreJ
merci de l'avoir signalé ... J'étais en retard quand j'ai répondu ;-)
simo
Je ne suis pas sûr, mais enfermer les valeurs de chaîne entre guillemets "0082" dans le fichier CSV pourrait suffire.
user30184
1
Je voulais également ajouter qu'il est nécessaire de télécharger les fichiers .csv et .csvt en même temps dans QGis via Layer -> Add Layer -> Add Vector Layer method.
Michael Workman