在没有Stata软件的情况下将dta文件转换为csv

Bri*_*ian 65 csv file-conversion stata

有没有办法将dta文件转换为csv

我的计算机上没有安装Stata版本,所以我做不了类似的事情:

File --> "Save as csv"
Run Code Online (Sandbox Code Playgroud)

Lon*_*Rob 70

用于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')
Run Code Online (Sandbox Code Playgroud)

惊人!

  • 哇,我不敢相信熊猫会支持Stata:O (3认同)
  • 很棒,非常感谢! (2认同)

rad*_*dek 55

您可以尝试通过R.对于Stata <= 13 - 有两种选择.

使用避免读取数据集,然后您只需将其写入外部CSV文件:

library(haven)
yourData = read_dta("path/to/file")
write.csv(yourData, file = "yourStataFile.csv")
Run Code Online (Sandbox Code Playgroud)

或者,在下面的评论中访问huntaub指向的链接.


对于Stata的<= 12点的数据集外国也可以使用包

library(foreign)
yourData <- read.dta("yourStataFile.dta")
Run Code Online (Sandbox Code Playgroud)


gho*_*g74 7

我还没有尝试过,但如果你知道Perl中你可以使用语法分析的Stata-DtaReader模块将文件转换为您服务.

该模块具有一个命令行工具dta2csv,它可以"转换的Stata 8和10个的Stata文件.dta到csv"


eri*_*oth 7

您可以在StatTransfer,R或perl中执行此操作(如其他人所述),但StatTransfer成本$$$和R/Perl具有学习曲线.
AM Statistical Software提供免费的菜单驱动统计程序,可以从所有版本的Stata打开和转换Stata .dta,请参阅:

http://am.air.org/

  • 顺便说一下,这里是Stata关于.dta文件结构的细分,这对于提取数据元素非常有用:http://www.stata.com/help.cgi?dta (4认同)

小智 6

使用R在几乎任何数据格式之间进行转换的另一种方法是使用rio包.

此方法允许您在多种格式之间进行转换(例如,Stata,SPSS,SAS,CSV等).它使用文件扩展名来推断格式并使用适当的导入包加载.更多信息可以在R-project里约页面上找到.

  • @KennyLJ我是R的新手,发现这很容易.刚刚运行`install.packages("rio")`并且很高兴. (3认同)

Nel*_*els 5

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 = ",")
Run Code Online (Sandbox Code Playgroud)