如何在使用rpy2保存数据框时删除csv索引?下面是它在R中的完成方式,以及我的尝试python:
R代码:
write.csv(dataframe, save_path, row.names = FALSE)
Python代码:
from rpy2.robjects.packages import importr
utils_package = importr("utils") # import utils package from R
utils_package.write_csv(dataframe, save_path) # what to add to remove the row names(i.e., index)?
答案 0 :(得分:1)
在R中,write.csv()
实际上是更通用的write.table()函数的包装器,其中前者具有预先设置的参数,例如逗号分隔符。考虑使用Python中更通用的函数,指定row_names
- 当然仍然使用逗号分隔符。以下包括一些备选方案:
# USING WRITE.TABLE()
utils_package.write_table(xmldf, save_path, sep=",", row_names=False)
# INCLUDING NON-DEFAULT ARGUMENTS
utils_package.write_table(x=xmldf, file=save_path, sep=",", row_names=False)
# INCLUDING ALL ARGUMENTS
utils_package.write_table(xmldf, save_path, False, True, ",", "\r", "NA", ".", False)
或者,可以使用ro.r()
对象而无需导入基础包:
import rpy2.robjects as ro
output = ro.r['write.table'](x=xmldf, file=save_path, sep=",", row_names=False)
答案 1 :(得分:0)
row_names=True
工作...如果在R代码中的函数签名中明确定义了命名参数。不幸的是,它是从省略号...
中获取的。
**{'row.names': True}
应该有用。
文档中的更多内容:http://rpy2.readthedocs.org/en/version_2.7.x/robjects_rpackages.html
注意:您还可以在ipython中尝试动态生成的文档字符串(?utils_package.write_csv
)。