我希望通过 Python 将许多 .CSV 文件转换为 .DTA 文件的过程自动化。 .DTA 文件是由 Stata 统计语言处理的文件类型。
但是,我还没有找到解决这个问题的方法。
R
语言有 write(.dta)它允许将 R 中的数据帧转换为 .dta 文件,并且有一个通过 RPy 从 Python 到 R 语言的端口,但我不知道如何使用 RPy 访问 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/