python - 在 Python 中将 .CSV 文件转换为 .DTA 文件

标签 python r csv stata dta

我希望通过 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/

相关文章:

python - Python 中不一致的导入错误

python - 为什么我的冷却时间在 python/pygame 中不起作用?

r - 计算跨两个数据集的行中所有值组合之间的比率

r - 想要将唯一值转换为第一/第二/第三变量

c# - 从 DataGrid 而不是从 csv 文件读取到数组/列表

java - 从 CSV 结构动态创建 Java 类

python - 在不下载正文的情况下检查scrapy中的响应头

Python re.sub 从一组中抓取单个字符

r - 使用 R 选择数据集中具有匹配缺失观测值的行

csv - Hive 查询 - FAILED SemanticException 无效路径