QGIS ne lira pas les colonnes du tableau lors de l'importation CSV sur Mac OS

9

J'essaie d'importer un fichier CSV dans QGIS, mais il finit par ressembler à mon écran d'impression ci-dessous (le programme est en suédois mais dans la fenêtre d'aperçu, vous pouvez voir comment QGIS ne lira pas correctement mes données). Je ne peux pas charger les données car pour une raison quelconque, QGIS lit mes colonnes de table CSV sur une seule ligne. Qu'est-ce qui ne va pas? Je veux que QGIS lise mes données sous forme de nombres, j'ai donc créé un fichier csvt supplémentaire avec le code "String", "String", "Integer". Y a-t-il autre chose que je dois faire pour que QGIS lise la troisième colonne sous forme de nombres?

entrez la description de l'image ici


Pourtant, après avoir fait ça, il se détache comme ça ...entrez la description de l'image ici

entrez la description de l'image ici

JohannaH
la source
1
Ajoutez quelques lignes de votre fichier csv à la question.
user30184
Oui, veuillez nous montrer au moins quelques lignes de votre fichier CSV!
SAnderka
Vous pouvez maintenant jeter un œil à mes données csv!
JohannaH

Réponses:

9

J'ai eu le même problème de lecture par QGIS d'un fichier CSV (enregistré à partir de MS Excel 2011 sur mon Mac) sur une seule ligne.

J'ai donc réenregistré la feuille de calcul Excel en tant que «Séparé par des virgules Windows (.csv)» et QGIS a pu le lire très bien.

EricO
la source
2

Vos données n'utilisent pas de virgules comme séparateur, mais des points-virgules.

Vous devez donc passer de CSVà user-defined separator, où vous pouvez sélectionner un point-virgule.


MISE À JOUR

Vous semblez travailler sur un Mac. Il y a quelques problèmes avec le saut de ligne / retour chariot avec CSV sur Mac. C'est pourquoi toutes les données sont sur une seule ligne. Voir:

/programming/22052168/excel-saves-tab-delimited-files-without-newline-unix-mac-os-x

et le rapport de bogue http://hub.qgis.org/issues/8421

AndreJ
la source
Oui, je travaille sur un Mac. Il y a donc un bogue pour importer des fichiers csv vers QGIS dans Mac ... Je suis un amateur dans ce domaine, alors y a-t-il quelque chose que je puisse faire pour résoudre ce problème ou la seule solution simple sera-t-elle de résoudre cela sur un PC?
JohannaH
Vous pouvez essayer de charger et d'enregistrer le fichier Excel dans LibreOffice. Ou utilisez un bon éditeur de texte pour remplacer la mauvaise nouvelle ligne d'Excel par la bonne, comme expliqué dans les articles liés.
AndreJ
J'ai essayé d'enregistrer le fichier dans LibreOffice, sans succès malheureusement.
JohannaH
Ok, essayez donc l'éditeur de texte.
AndreJ
1

J'utilise également QGIS (depuis la v1.8) sur OS X. Je n'ai jamais rencontré le problème de retour chariot lors de l'importation de fichiers CSV dans QGIS. Avez-vous créé le fichier CSV vous-même, c'est-à-dire avec votre ordinateur?

Je vous suggère d'importer le fichier CSV avec un logiciel de statistiques tel que R (ou Stata, ou selon ce que vous préférez / avez déjà), et de le réexporter.

xmor
la source
Oui, j'ai créé le CSV moi-même à partir d'Excel sur mon Mac. Je ne connais pas R ou Stata, mais s'il y a une chance que ce soit le problème, je vais y réfléchir.
JohannaH
1

Hm ... tout d'abord, je ne vois pas de coordonnées dans ces données? L' Add delimited text layeroutil est conçu pour convertir des tables de données avec des coordonnées attachées (par exemple, des fichiers de formes) en points.

Si vous souhaitez simplement ajouter le fichier csv dans votre projet pour d'autres jointures (par exemple via des noms de pays ou des codes ISO), le charger directement via Add vector layerdevrait à l'astuce. Pour vérifier vos données d'attribut, faites un clic droit sur la nouvelle entrée dans le gestionnaire de couches et choisissez Open Attribute Data.

SAnderka
la source
Eh bien, j'ai fait cela et effectué la jointure avec succès, mais comme mon problème ORIGINAL était que je ne pouvais pas demander à QGIS de reconnaître mes données en tant que nombres, j'ai plutôt essayé. Peut-être que maintenant je devrais reformuler ma question. Étant donné que je souhaite effectuer une classification par intervalles de mes données, pourquoi QGIS ne reconnaît-il pas mes données comme numériques? Comme je l'ai dit, j'ai créé un fichier csvt supplémentaire.
JohannaH
À en juger par votre capture d'écran, votre fichier CSVT devrait contenir quelque chose comme "string","string","real"?
SAnderka
Oui, il contenait d'abord "String", "String", "Integer", maintenant je l'ai changé en "String", "" String "," Real ", mais j'ai toujours le même problème
JohannaH
Je suppose que QGIS interprète mal la mise en forme de vos données. Il ressemble par exemple à 1,52E+05une valeur arrondie d'un nombre de haute précision dans vos données Excel d'origine, mais lorsque vous enregistrez au format CSV, il enregistrera réellement cette valeur ( 1,52E+05) dans cette cellule, PAS le nombre de précision plus élevé d'origine (juste testé cela) . S'il y a une lettre ( Edans ce cas) là-dedans, QGIS sera forcé stringcomme votre type de données. Vous pouvez le vérifier si vous ouvrez le fichier csv dans un simple éditeur de texte.
SAnderka
J'ai essayé de modifier mes données afin qu'elles affichent le nombre décimal entier au lieu d'utiliser E. Cela ne fait toujours pas l'affaire ...
JohannaH
0

QGIS recherche un CR / LF à la fin de chaque ligne dans un fichier .csv. C'est ainsi qu'Excel (et d'autres applications) sur les machines Windows termine chaque ligne. Sur un Mac, le fichier Excel .csv par défaut n'a qu'un CR (c'est-à-dire qu'il n'y a pas de LF) à la fin de chaque ligne. Par conséquent, QGIS lit le fichier sur une longue ligne. La solution, comme suggéré initialement par ericO, consiste à enregistrer le fichier en tant que fichier séparé par des virgules Windows (csv). Cela peut être fait dans Excel sur Mac. Une fois enregistré dans ce format, il sera lu correctement par QGIS.

Bruce Atkinson
la source
0

J'ai eu le même problème mais j'ai déplacé des données vers Open Office et converti en CSV depuis OO. Alors pas de problème

Greg K
la source
2
C'est sans aucun doute une bonne suggestion, mais je préférerais voir un peu plus d'explications à une réponse, comme comment convertir CSV en OO peut-être. Pouvez-vous nous en dire un peu plus à ce sujet; Je me rends compte qu'il n'y a pas grand-chose de plus à ajouter, essayez cependant. Cela est probablement dû à la différence entre les séparateurs de ligne Windows CRLF et NewLine sur Mac.
Michael Stimson