Comment forcer ArcGIS à reconnaître un champ de texte dans un fichier CSV?

11

Lié à la détection du type de données dans le chargement des tables ArcGIS

J'ai un fichier CSV qui contient un mélange de champs numériques et texte:

ID,Txt,Int,Dbl
12345,abc,45,56.78
12346,9,65,23.12
12347,10,66,23.13

Selon cet article d'Esri, si les 8 premières lignes contiennent une valeur de texte, le champ sera classé comme texte, mais je constate que le deuxième champ est classé comme long. Cela signifie que la valeur "abc" est omise:

entrez la description de l'image ici

Comment puis-je forcer ArcGIS à reconnaître cela comme un champ de texte, tout en conservant les données au format CSV?

Une solution de contournement consistera à créer une table de géodatabase, à définir le champ en tant que texte et à charger les données, mais j'espère conserver la table en CSV (c'est la sortie d'un autre processus).

Merci

Stephen Lead
la source
2
Voici la spécification complète pour l'enregistrement: msdn.microsoft.com/en-us/library/windows/desktop/… Fait intéressant, cela n'a pas complètement fonctionné pour moi ...
Mahdi

Réponses:

18

Jetez un œil à la section "Remplacement du formatage des fichiers texte" dans la rubrique d'aide sur l' ajout d'un tableau de fichiers ASCII ou texte :

Vous pouvez remplacer la façon dont les fichiers texte délimités sont affichés dans ArcGIS en utilisant les fichiers schema.ini. Un exemple de cas où vous souhaitez utiliser le fichier schema.ini pour remplacer le comportement par défaut est lorsqu'ArcGIS interprète mal un type de champ. L'exemple suivant montre comment procéder pour un champ appelé PLOTS qui doit être affiché comme type Text mais qui est interprété comme type Double.

[Trees.CSV]
Col14=PLOTS Text

Notez que vous devrez peut-être créer un fichier schema.ini s'il n'en existe pas et vous devez remplacer le mode d'affichage des fichiers texte délimités dans ArcGIS. Pour plus d'informations sur le fichier schema.ini, recherchez schema.ini sur le site Web Microsoft MSDN .

blah238
la source
2
Merci pour cela - ça fait l'affaire. Cependant, il semble que ArcGIS analyse automatiquement les 8 premières lignes.
Stephen Lead
4
J'ai dû ajouter "MaxScanRows = 0" car la chose "ColX = name Text" ne semblait pas fonctionner à 100% en elle-même.
Stephen Lead
Quelqu'un at-il essayé cela en utilisant arcpy sur Linux? Je suppose que cela ne fonctionnerait que sur Windows, car schema.ini est lié à la cruauté Micrsoft ODBC.
Curtis Price