¿Cómo forzar a ArcGIS a reconocer un campo de texto en un archivo CSV?

11

Relacionado con la detección de tipo de datos en la carga de la tabla ArcGIS

Tengo un archivo CSV que contiene una mezcla de campos numéricos y de texto:

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

De acuerdo con este artículo de Esri, si las 8 filas superiores contienen un valor de texto, el campo se clasificará como texto, pero encuentro que el segundo campo se clasifica como Largo. Esto significa que se omite el valor "abc":

ingrese la descripción de la imagen aquí

¿Cómo puedo forzar a ArcGIS a reconocer esto como un campo de texto, mientras mantengo los datos en formato CSV?

Una solución alternativa será crear una tabla de geodatabase, definir el campo como texto y cargar los datos, pero espero mantener la tabla en CSV (es el resultado de otro proceso).

Gracias

Stephen Lead
fuente
2
Aquí está la especificación completa para el registro: msdn.microsoft.com/en-us/library/windows/desktop/… Curiosamente, no funcionó completamente para mí ...
Mahdi

Respuestas:

18

Eche un vistazo a la sección "Anulación de cómo se formatean los archivos de texto" en el tema de ayuda sobre Agregar una tabla de archivos de texto o ASCII :

Puede anular cómo se muestran los archivos de texto delimitados dentro de ArcGIS utilizando los archivos schema.ini. Un ejemplo de cuándo desea utilizar el archivo schema.ini para anular el comportamiento predeterminado es cuando ArcGIS está malinterpretando un tipo de campo. El siguiente ejemplo muestra cómo hacer esto para un campo llamado PLOTS que debe mostrarse como tipo Texto pero se interpreta como tipo Doble.

[Trees.CSV]
Col14=PLOTS Text

Tenga en cuenta que es posible que necesite crear un archivo schema.ini si no hay uno presente y debe anular cómo se muestran los archivos de texto delimitados en ArcGIS. Para obtener más información sobre el archivo schema.ini, realice una búsqueda de schema.ini en el sitio web de Microsoft MSDN .

blah238
fuente
2
Gracias por eso, hace el truco. Sin embargo, parece haber un problema con ArcGIS escaneando las primeras 8 filas automáticamente.
Stephen Lead el
44
Tuve que agregar "MaxScanRows = 0" ya que la cosa "ColX = name Text" no parecía funcionar al 100% por sí sola.
Stephen Lead
¿Alguien ha intentado esto usando arcpy en Linux? Supongo que esto solo funcionaría en Windows, ya que schema.ini está relacionado con el crujido de ODBC de Micrsoft.
Curtis Precio