IT박스

Stata 소프트웨어없이 dta 파일을 csv로 변환

itboxs 2020. 11. 17. 07:56
반응형

Stata 소프트웨어없이 dta 파일을 csv로 변환


dta파일을 로 변환하는 방법 csv있습니까?

컴퓨터에 Stata 버전이 설치되어 있지 않아 다음과 같은 작업을 할 수 없습니다.

File --> "Save as csv"

솔직히 믿을 수없는 Python 용 데이터 분석 라이브러리 Pandas에는 Stata 파일을 읽는 기능이 있습니다.

설치 후 Pandas다음을 수행 할 수 있습니다.

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

놀랄 만한!


R을 통해 시도해 볼 수 있습니다. Stata <= 13의 경우 두 가지 옵션이 있습니다.

haven 패키지사용하여 데이터 세트를 읽은 다음 외부 CSV 파일에 작성하면됩니다.

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

또는 아래 댓글에서 huntaub가 가리키는 링크를 방문 하세요.


Stata <= 12 개 데이터 세트의 경우 외부 패키지도 사용할 수 있습니다.

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

StatTransfer, R 또는 perl (다른 사람이 언급했듯이)에서 할 수 있지만 StatTransfer 비용은 $$$이고 R / Perl에는 학습 곡선이 있습니다.
모든 버전의 Stata에서 Stata .dta를 열고 변환 할 수있는 AM Statistical Software의 무료 메뉴 기반 통계 프로그램이 있습니다. 다음을 참조하십시오.

http://am.air.org/


나는 시도하지 않았지만 Perl을 알고 있다면 Parse-Stata-DtaReader 모듈을 사용하여 파일을 변환 할 수 있습니다.

모듈에는 "Stata 8 및 Stata 10 .dta 파일을 csv로 변환"할 수 있는 명령 줄 도구 dta2csv 가 있습니다.


R을 사용하여 거의 모든 데이터 형식을 변환하는 또 다른 방법은 rio 패키지를 사용하는 것입니다.

  • CRAN 에서 R을 설치하고 R을 엽니 다.
  • 다음을 사용하여 rio패키지 설치install.packages("rio")
  • rio 라이브러리를로드 한 다음 convert()함수 를 사용합니다 .

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

이 방법을 사용하면 여러 형식 (예 : Stata, SPSS, SAS, CSV 등)간에 변환 할 수 있습니다. 파일 확장자를 사용하여 형식을 추론하고 적절한 가져 오기 패키지를 사용하여로드합니다. 더 많은 정보는 R-project rio 페이지 에서 찾을 수 있습니다 .


R 방법은 안정적으로 작동하며 R에 대한 지식이 거의 필요하지 않습니다. 외부 패키지를 사용하는 변환은 데이터를 보존하지만 차이가 발생할 수 있습니다. 예를 들어, 기본 키없이 테이블을 변환 할 때 기본 키와 관련 열이 변환 중에 삽입됩니다.

에서 http://www.r-bloggers.com/using-r-for-stata-to-csv-conversion/ 나는 추천 :

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

StatTransfer는 Stata, Excel (또는 csv), SAS 등간에 데이터를 쉽게 이동하는 프로그램입니다. 매우 사용자 친화적입니다 (프로그래밍 기술이 필요 없음). www.stattransfer.com 참조

프로그램을 사용하는 경우 .xls가 아닌 .csv 파일로 작업하려면 "ASCII / Text-Delimited"를 선택해야합니다.


SPSS는 .dta 파일을 읽고 .csv로 내보낼 수도 있지만 비용이 많이 듭니다. 거친 SPSS의 오픈 소스 버전 인 PSPP도 .dta 파일을 읽고 내보낼 수 있습니다.


Python에서는 statsmodels.iolib.foreign.genfromdtaStata 데이터 세트를 읽는 데 사용할 수 있습니다 . 또한 웹에서 직접 Stata 파일을 읽는 데 사용할 수있는 앞서 언급 한 함수의 래퍼도 있습니다 statsmodels.datasets.webuse..

그럼에도 불구하고 위의 두 가지 모두 pandas.io.stata.StataReader.data이제 레거시 함수이며 더 이상 사용되지 않는를 사용합니다. 따라서 pandas.read_stata이제 함수를 항상 대신 사용해야 합니다 .

소스 파일따르면 stata.py버전 0.23.0부터 다음이 지원됩니다.

Stata 데이터 파일 버전 :

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

유효한 인코딩 :

  • 아스키
  • us-ascii
  • latin-1
  • latin_1
  • iso-8859-1
  • iso8859-1
  • 8859
  • cp819
  • 라틴어
  • latin1
  • L1

다른 사람들이 언급했듯이이 pandas.to_csv기능을 사용하여 파일을 디스크에 저장할 수 있습니다. 관련 기능 numpy.savetxt은 데이터를 텍스트 파일로 저장할 수도 있습니다.


편집하다:

다음 세부 사항은 help dtaversionStata 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.

Stata를 가지고있는 사람들을 위해 (요청자가 아니더라도) 이것을 사용할 수 있습니다 :

outsheet produces a tab-delimited file so you need to specify the comma option like below

outsheet [varlist] using file.csv , comma

also, if you want to remove labels (which are included by default

outsheet [varlist] using file.csv, comma nolabel

hat tip to:

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

참고URL : https://stackoverflow.com/questions/2536047/convert-a-dta-file-to-csv-without-stata-software

반응형