34 votos

¿Cómo cambiar el valor del atributo de una capa CSV de texto a número en QGIS?

Leí en un archivo CSV para enlazar a un archivo .shp.

Todas las variables que son solo números llegaron como texto.

¿Cómo puedo cambiar las variables de texto a numéricas en QGIS?

45voto

damorg Puntos 1024

Una vez tuve la misma pregunta. La respuesta es que debes colocar un archivo en la misma carpeta con la terminación csvt. Por ejemplo, si el nombre de tu archivo es xyzdata.csv debes agregar el archivo xyzdata.csvt

Este archivo lo puedes editar con un editor, por ejemplo. Y en él defines el tipo de datos así. "Entero","Cadena","Entero","Entero","Cadena","Real"

Entero es ahora la variable para la primera columna, cadena para la segunda y así sucesivamente... Asegúrate de que los archivos tengan el mismo nombre.

Editar: Mira aquí también si es necesario: http://underdark.wordpress.com/2011/03/07/how-to-specify-data-types-of-csv-columns-for-use-in-qgis/

0 votos

Gracias1 ¿es cierto que todos los archivos CSV se leerán como texto? Tal vez me lo imaginé, pero cuando empecé a usar QGIS hace un tiempo vinculé un archivo CSV y los números eran números. Parece que esta información debería estar en el manual de usuario. (tal vez la pasé por alto)

0 votos

Sí, eso también fue bastante raro para mí. Pero si solo tienes unas pocas columnas, este método es fácil de realizar. Entonces... ¿realmente funcionó para ti?

0 votos

¡Sí, funciona perfectamente! Ten cuidado al configurar tu archivo CSVT en Excel; las comillas adicionales se atoran, etc. Utilizo SAS o R para hacer los archivos que quiero vincular, así que no me cuesta mucho hacer un archivo CSVT junto con el archivo CSV. Parece que esto necesita ser corregido. Otro GIS que uso ve números en una columna CSV, los lee como números.

15voto

nagytech Puntos 2872

En lugar de perder el tiempo con el archivo de entrada intentando que todo sea perfecto, simplemente usa la calculadora de campos para convertir el texto en un número/real. Mira los ejemplos a continuación:

Calculadora de Campos

Calculadora de Campos a Número

Calculadora de Campos a Real

Tabla de Atributos Después de la Función

0 votos

Cuando traje el archivo CSV, no pude editarlo. El botón de edición estaba desactivado. ¿Cómo puedo hacer que sea editable?

0 votos

No estoy seguro de que puedas editar un archivo csv a través de qGIS. Creo que malinterpreté tu pregunta en que ya habías importado los datos csv al shapefile.

2 votos

Hice el enlace, .shp a un archivo csv que tenía columnas de números pero que eran realmente texto. Aparentemente no se puede editar un archivo CSV por sí solo o si está vinculado a un archivo SHP. Así que guardé el archivo vinculado y luego lo volví a cargar y pude editar los archivos de números de texto a un formato entero como sugeriste. Parece que usar el archivo .csvt funciona mejor si tienes muchas columnas de texto que necesitan ser convertidas y luego usar el método del calculador de campos si no hay tantas. Sería útil poder editar el archivo CSV por sí solo, no vinculado a nada.

13voto

tobes Puntos 19

En lugar de cargar el .csv usando la capa de vector de Añadir, utiliza la herramienta de capa de texto delimitado. Intentará detectar el tipo de datos más adecuado para cada columna.

Para más detalles, consulta la guía del usuario de QGIS.

introduce la descripción de la imagen aquí

0 votos

¡Insta-fix! Gracias

0 votos

@underdark en caso de que me lo haya perdido, ¿no hay forma de decirle a QGis qué valores de celda son NA, verdad? Al exportar desde R, estos son "NA", pero no parece que puedas indicar eso para QGis, lo que significa que los campos con cualquier valor NA se importan como texto. La forma más fácil de lidiar con esto parece ser encontrar + reemplazar NA con blanco en excel/libreoffice de antemano, pero sería bueno no tener que hacer esto...

6voto

avp Puntos 2649

MMQGis causó este problema y, resulta que también puede arreglarlo.

Una vez que hayas unido tu Shapefile y los datos CSV, utiliza la herramienta Modificar > Texto a Flotante de MMQGis.

Como de costumbre, deja una serie de archivos de formas intermedios basura, pero ¿qué más es nuevo?

-2voto

Christian Puntos 220

Otra alternativa en el caso de conjuntos de datos grandes que deben ser gestionados y que obviamente consumen tiempo para proceder con la calculadora de campos (sin bucles) o dentro de un editor de texto: - guarda tus datos como CSV + XY + variable para la unión con nuestro archivo de forma de polígono - carga tu CSV con el complemento (import csv) y luego guárdalo como archivo de forma (punto) - luego cierra QGIS - regresa a la carpeta con el archivo de forma de punto, duplica la tabla dbf correspondiente / renómbrala - abre QGIS - carga la nueva dbf y únela al archivo de forma (características de polígono)

Matar dos pájaros de un tiro: potencialmente tienes 1) un archivo de forma de punto con todos los datos y todas las posibilidades de representación 2) y un archivo de forma independiente con tabla dbf unida (¡editable!) vinculada a un polígono para cartografía temática

Esto es un poco rudo, pero bastante directo...

bs_epidemio

3 votos

Mientras esta respuesta discute cómo obtener el archivo .csv en un formato editable, no aborda la pregunta original de cómo convertir un valor de atributo de texto a número. Si bien es importante tener preguntas de calidad y centradas, también es igualmente crítico que las respuestas a esas preguntas sean tan enfocadas y relevantes como sea posible a lo que se preguntó originalmente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X