不使用xlsx包将csv转换为excel

时间:2015-03-21 17:55:40

标签: r

我想将csv文件转换为excel。

我从互联网上的搜索中发现最好的建议是使用库(xlsx)并使用write.xlsx(..)将我的数据帧写入excel文件。

但是,当我尝试加载并使用xlsx库并使用它时,我会收到以下内容:

Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'C:/Users/Ban/Documents/R/win-library/3.1/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  Could not find the specified mode. unit.

有没有其他方法可以将csv转换为excel,还是有人遇到过上一个问题?

2 个答案:

答案 0 :(得分:4)

您可以在rio中执行此操作,而无需java依赖项。它调用 openxlsx 包。

install_github("leeper/rio")
library("rio")

# create an example CSV
export(mtcars, "mtcars.csv")

# convert the CSV to Excel (.xlsx)
convert("mtcars.csv", "mtcars.xlsx")

如果您想直接使用openxlsx执行此操作,可以执行以下操作:

library("openxlsx")
write.xlsx(read.csv("mtcars.csv"), "mtcars.xlsx")

完全披露:我是rio的作者。

答案 1 :(得分:2)

对CRAN的最低限度研究揭示了许多软件包:

  • XLconnect需要Java
  • xlsx需要Java
  • openxlsx不需要Java但是更年轻而且没有广泛使用
  • writexls在大多数系统的引擎盖下使用Perl。