我正在寻找通过Python自动将许多.CSV文件转换为.DTA文件的过程。 .DTA文件是Stata Statistics语言处理的文件类型。

但是,我无法找到一种方法来执行此操作。

R语言具有write(.dta),它允许将R中的dataFrame转换为.dta文件,并且从python通过RPy到R语言有一个端口,但我不知道如何使用RPy来访问R中的write(.dta)函数。

有任何想法吗?

最佳答案

您需要用于Python的rpy2以及R中安装的foreign软件包。您可以通过启动R并键入install.packages("foreign")来实现。然后,您可以退出R并返回到Python。

然后这样:

import rpy2.robjects as robjects
robjects.r("require(foreign)")
robjects.r('x=read.csv("test.csv")')
robjects.r('write.dta(x,"test.dta")')


您可以根据需要从Python变量构造传递给robjects.r的字符串,例如:

robjects.r('x=read.csv("%s")' % fileName)

关于python - 在Python中将.CSV文件转换为.DTA文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19295832/

10-12 16:56