如何导出到Excel有R

信息世界|2019年10月2日

看到如何保存来自R到Excel的数据帧 - 与造型或多个选项卡。

版权©2019Raybet2

嗨。我是IDG的Sharon Machlis,这里是《用R做更多的事:将数据导出到Excel——使用格式或多个选项卡!》的第35集。

为此,我将使用两个包:里约热内卢和openxlsx。我也会加载dplyr,因为我几乎总是使用dplyr。

对于数据,我将使用随R.这是一个矩阵的state.x77数据集;我把它变成与as.data.frame()数据帧,所以我可以与国家的名字,这是字符串添加一列。接下来的代码行添加国家名称。最后一行移动中华人民共和国的国家名称列位置号1.我也除以100文盲列,因此,一些像2.1 - 这代表了2.1% - 将是.021。这只是这样我就可以显示一些Excel的格式百分比。

如果您只想将数据发送到单个Excel工作表而不需要格式化,那么里约热内卢使其变得非常简单。它只是导出(数据帧名,“文件名以。xlsx结尾”)。文件名可以是任何名称,只要以.xlsx结尾即可。(里约热内卢::export()也可以创建许多其他文件类型,如果您将文件名扩展名更改为诸如点csv或点json之类的内容)。

您可以在这里看到新的Excel文件。它是基本的,没有格式,但它有所有的数据。

当创建一个Excel文件,里约热内卢::出口()是openxlsx包的write.xlsx()函数的包装。当我创建我的文件中添加参数,我会切换到write.xlsx()。

接下来,我将添加简单的报头格式。一个简单的方法是创建一个具有createStyle()函数标题样式对象。然后,我可以使用该样式的write.xlsx命令。在这里你看到它在headerStyle说法。

有几种格式化单元格的方法。如果您对Excel的开箱即用的格式(如“Number”、“Currency”和“percent”)感到满意,您可以使用class()命令设置这些格式。在第三行,我把文盲的类别列设为“百分比”。现在,如果我创建一个Excel文件,该列将有Excel的Perentage格式。你可以看到文盲栏现在是百分比样式。

还有一个很酷的写作选择。xlsx:您可以创建一个Excel表格,包括下拉筛选、排序和表格样式。

它是那么容易,因为添加非稳态= TRUE,然后选择任何Excel的可用表格样式(这里我用灯2)。现在我有一个表!

不幸的是,我几乎从不喜欢Excel的默认格式。我不想要百分号列后面有两位小数,我想要一位。对于收入一栏,我想加上一个美元符号,但没有小数点。

对于标题下面的单元格中更具体的样式,我需要一个稍微健壮一些的openxlsx进程。每一步都很简单,但是除了一个写命令之外,它还有更多的功能。

让我给你们看一些cod的例子。首先创建一个workbook对象。接下来,将工作表添加到该工作簿。然后将数据写入工作表。添加样式有几种不同的方法。一个是我之前展示的,向数据框架列添加一个类。另一种方法是创建一个特定的样式—这里我创建了一个百分比格式,其中有一位小数。然后,我需要使用addStyle()将样式应用到工作簿中的第一个工作表(我可以通过数字或名称指定工作表)。对于body样式,我还需要为addStyle()指定确切的行和列。在这里的最后一行中,我希望我的样式在第3列,即数据的最后一行(即nrow(mydf))的第2行。 And, last step: Save the workbook with saveWorkbook(). Let me show you an example with the states data frame.

这段代码创建一个工作簿,添加一个工作表,向工作表中写入数据”。接下来,我创建一些样式。美元样式添加了美元符号和逗号,并且四舍五入到没有小数点的位置,因为格式中没有。00。百分比样式添加了一个百分号和一个小数点(但没有逗号)。基本的逗号格式只有一个逗号,没有小数点。然后使用addStyle()应用每个样式

最后,我将工作簿保存到一个名为with_granular_styling.xlsx文件。我加了覆盖= TRUE - 这可以确保我得到我的文件的新版本,如果文件已经存在。见我有在人口和面积,美元符号逗号,但没有美分的收入,并为文盲小数点后一位。

最后,我想向您展示的是如何将数据写入多个选项卡。在这里,我从原始州数据中按区域创建了4个新数据帧:东北、西部、南部和中北部。接下来,我列出了这些数据帧的列表,并为列表中的每个项命名。现在,如果我想快速地将它们导出到一个Excel文件中,每个选项卡一个数据帧,而不需要担心样式,那么可以使用write.xlsx()函数。我的数据框架列表是第一个参数,Excel文件名是第二个参数。这是我的数据,每个标签一个数据帧!

这是它为这个情节,感谢收看!对于以上R提示,头向做多有R在页面去点InfoWorld的点com削减更多的与R,除了R.全部小写

你也可以在YouTube IDG技术谈话频道上找到“用R做更多”的播放列表——在那里你可以订阅,这样你就不会错过任何一集。希望下次能见到你!



受欢迎的
从IDG.tv精选视频