insheet importar convertir csv stata file-conversion

importar - Convierta un archivo dta a csv sin el software Stata



insheet stata (10)

El método R funcionará de manera confiable y requiere poco conocimiento de R. Tenga en cuenta que la conversión con el paquete externo conservará los datos, pero puede introducir diferencias. Por ejemplo, al convertir una tabla sin una clave principal, la clave principal y las columnas asociadas se insertarán durante la conversión.

De http://www.r-bloggers.com/using-r-for-stata-to-csv-conversion/ Recomiendo:

library(foreign) write.table(read.dta(file.choose()), file=file.choose(), quote = FALSE, sep = ",")

¿Hay alguna manera de convertir un archivo dta a un csv ?

No tengo una versión de Stata instalada en mi computadora, así que no puedo hacer algo como:

File --> "Save as csv"


En Python, uno puede usar statsmodels.iolib.foreign.genfromdta para leer conjuntos de datos Stata. Además, también hay un contenedor de la función antes mencionada que se puede utilizar para leer un archivo Stata directamente desde la web: statsmodels.datasets.webuse .

Sin embargo, ambos de los anteriores se basan en el uso de pandas.io.stata.StataReader.data , que ahora es una función heredada y ha quedado en desuso. Como tal, la nueva función pandas.read_stata ahora debería usarse en su lugar .

De acuerdo con el archivo fuente de stata.py , a partir de la versión 0.23.0 , se 0.23.0 los siguientes:

Versiones del archivo de datos Stata:

  • 104
  • 105
  • 108
  • 111
  • 113
  • 114
  • 115
  • 117
  • 118

Codificaciones válidas:

  • ascii
  • us-ascii
  • latin-1
  • latin_1
  • iso-8859-1
  • iso8859-1
  • 8859
  • cp819
  • latín
  • latin1
  • L1

Como otros han notado, la función pandas.to_csv se puede usar para guardar el archivo en el disco. Una función relacionada numpy.savetxt también puede guardar los datos como un archivo de texto.

EDITAR:

Los siguientes detalles provienen de la help dtaversion en Stata 15.1:

Stata version .dta file format ---------------------------------------- 1 102 2, 3 103 4 104 5 105 6 108 7 110 and 111 8, 9 112 and 113 10, 11 114 12 115 13 117 14 and 15 118 (# of variables <= 32,767) 15 119 (# of variables > 32,767, Stata/MP only) ---------------------------------------- file formats 103, 106, 107, 109, and 116 were never used in any official release.


La biblioteca de análisis de datos francamente increíble para Python llamada Pandas tiene una función para leer archivos Stata.

Después de instalar Pandas , puedes hacer lo siguiente:

>>> import pandas as pd >>> data = pd.io.stata.read_stata(''my_stata_file.dta'') >>> data.to_csv(''my_stata_file.csv'')

¡Asombroso!


No lo he intentado, pero si conoce Perl, puede usar el módulo Parse-Stata-DtaReader para convertir el archivo por usted.

El módulo tiene una herramienta de línea de comandos dta2csv , que puede "convertir archivos .tata Stata 8 y Stata 10. a csv"


Otra forma de convertir prácticamente cualquier formato de datos utilizando R es con el paquete de rio .

  • Instale R desde CRAN y abra R
  • Instale el paquete de rio usando install.packages("rio")
  • Cargue la biblioteca de rio, luego use la función convert() :

    library("rio") convert("my_file.dta", "my_file.csv")

Este método le permite convertir entre muchos formatos (por ejemplo, Stata, SPSS, SAS, CSV, etc.). Utiliza la extensión de archivo para inferir el formato y cargar utilizando el paquete de importación apropiado. Se puede encontrar más información en la página de r-project rio .


Para aquellos que tienen Stata (aunque el asker no) puedes usar esto:

la hoja externa produce un archivo delimitado por tabuladores por lo que debe especificar la opción de comma como se muestra a continuación

outsheet [varlist] using file.csv , comma

también, si desea eliminar etiquetas (que están incluidas por defecto)

outsheet [varlist] using file.csv, comma nolabel

punta de sombrero para:

http://www.ats.ucla.edu/stat/stata/faq/outsheet.htm


Podrías intentar hacerlo a través de R. Para Stata <= 13 - hay dos opciones.

Utilice el paquete refugio para leer el conjunto de datos y luego simplemente escríbalo en un archivo CSV externo:

library(haven) yourData = read_dta("path/to/file") write.csv(yourData, file = "yourStataFile.csv")

Alternativamente, visite el enlace señalado por huntaub en un comentario a continuación.

Para Stata <= 12 conjuntos de datos paquete foreign también se puede utilizar

library(foreign) yourData <- read.dta("yourStataFile.dta")


Puede hacerlo en StatTransfer, R o perl (como lo mencionaron otros), pero StatTransfer cuesta $$$ y R / Perl tiene una curva de aprendizaje.
Hay un programa de estadísticas gratuito impulsado por menús de AM Statistical Software que puede abrir y convertir Stata .dta desde todas las versiones de Stata, ver:

http://am.air.org/


SPSS también puede leer archivos .dta y exportarlos a .csv, pero eso cuesta dinero. PSPP, una versión de código abierto de SPSS, que es difícil, también podría leer / exportar archivos .dta.


StatTransfer es un programa que mueve datos fácilmente entre Stata, Excel (o csv), SAS, etc. Es muy fácil de usar (no requiere conocimientos de programación). Vea www.stattransfer.com

Si usa el programa, solo tenga en cuenta que deberá elegir "ASCII / Texto - Delimitado" para trabajar con archivos .csv en lugar de .xls