web-dev-qa-db-ja.com

Stataソフトウェアなしでdtaファイルをcsvに変換する

dtaファイルをcsvに変換する方法はありますか?

Stataのバージョンがコンピューターにインストールされていないため、次のようなことはできません。

File --> "Save as csv"
65
Brian

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')

すごい!

70
LondonRob

Rで試してみることができます。Stata<= 13の場合-2つのオプションがあります。

haven package を使用してデータセットを読み取り、それを単純に外部CSVファイルに書き込みます。

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

または、下記のコメントでhuntaubが指している リンク をご覧ください。


Stata <= 12データセットの場合 foreign パッケージも使用できます

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

StatTransfer、R、またはPerl(他の人が述べているように)で実行できますが、StatTransferの費用は$$で、R/Perlには学習曲線があります。
AM統計ソフトウェアには、StataのすべてのバージョンのStata .dtaを開いて変換できる、無料のメニュー方式の統計プログラムがあります。以下を参照してください。

http://am.air.org/

7
eric.a.booth

試したことはありませんが、Perlを知っている場合は Parse-Stata-DtaReader モジュールを使用してファイルを変換できます。

モジュールにはコマンドラインツール dta2csv があり、「Stata 8およびStata 10 .dtaファイルをcsvに変換」できます

7
ghostdog74

Rを使用してほとんどすべてのデータ形式間で変換する別の方法は、 rio パッケージを使用することです。

  • [〜#〜] cran [〜#〜] からRをインストールし、Rを開きます
  • install.packages("rio")を使用してrioパッケージをインストールします
  • Rioライブラリをロードしてから、convert()関数を使用します。

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

この方法では、多くの形式(Stata、SPSS、SAS、CSVなど)の間で変換できます。ファイル拡張子を使用して形式を推測し、適切なインポートパッケージを使用してロードします。詳細は R-project rio page にあります。

5
Liny C-J

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 = ",")
5
Nels

StatTransferは、Stata、Excel(またはcsv)、SASなどの間でデータを簡単に移動するプログラムです。非常にユーザーフレンドリーです(プログラミングスキルは不要です)。 www.stattransfer.comをご覧ください

プログラムを使用する場合は、.xlsではなく.csvファイルを操作するために「ASCII/Text-Delimited」を選択する必要があることに注意してください。

3
dandyjuan

SPSSは.dtaファイルを読み取って.csvにエクスポートすることもできますが、費用がかかります。大まかなSPSSのオープンソースバージョンであるPSPPは、.dtaファイルの読み取り/エクスポートも可能です。

1
Nicolas Smoll

Pythonでは、 statsmodels.iolib.foreign.genfromdta Stataデータセットを読み取ります。さらに、Webから直接Stataファイルを読み取るために使用できる前述の関数のラッパーもあります。 statsmodels.datasets.webuse

それにもかかわらず、上記の両方は pandas.io.stata.StataReader.data 。これはレガシー関数であり、廃止されました。そのため、新しい pandas.read_stata 関数を常に使用する必要がありますinstead

ソースファイル of 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 dtaversion St​​ata 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.
1
Pearly Spencer