r语言怎么导出excel数据 r语言中怎么读取excel数据

经验直达:

  • r语言中怎么读取excel数据
  • r语言怎么导出excel数据

一、r语言中怎么读取excel数据


【r语言怎么导出excel数据 r语言中怎么读取excel数据】#64位机下 , .xls和.xlsx文件用相同方法
library(RODBC)
con <- odbcConnectExcel2007("D:/R/RODBC.xlsx") #64位机下方法
sqlTables(con) #查看该xlsx文件中有哪些表
#TABLE_CAT TABLE_SCHEM TABLE_NAMETABLE_TYPE REMARKS
# 1 D:\R\RODBC.xlsx商品信息$ SYSTEM TABLE
# 2 D:\R\RODBC.xlsx补充说明$ SYSTEM TABLE
# 3 D:\R\RODBC.xlsx销售信息$ SYSTEM TABLE
table_test <- sqlFetch(con,"销售信息")
table_test
odbcClose(con)


二、r语言怎么导出excel数据



在管理学生成绩的实践当中 , 成绩原始数据往往按学生条目记录 。若需要转换为以学号、姓名、学科、成绩、等第进行分列的表式效果,数据量大,逐一复制、粘贴操作显然相当繁琐 。利用Excel的MicrosoftPowerQuery加载项可实现快速转换 。
1.数据转换为表
打开数据表,切换到“数据选项卡 , 在“获取和转换功能组单击“从表格按钮,在随后弹出的对话框根据提示选择数据源,Excel会自动将选定区域转换为表 , 并打开查询编辑器界面 。
2.提取学科数据
在“表1-查询编辑器窗口选择学号、姓名两列的列标,切换到“转换选项卡,在“任意列功能组依次选择“逆透视列→逆透视其他列 , 执行后可以将当前选定列转换为“属性/值对 , 并与每行中的剩余值相结合,显示效果如图2所示 。
可以看到“属性列包含了语文、数学、英语等多门学科的名称,我们首先需要将这些学科的名称从“属性列提取出来 。选择“属性列的列表,右击选择“拆分列→按分隔符,此时会打开“按分隔符拆分列对话框 , 在“选择或输入分隔符列表框选择“自定义,输入“|进行分隔 , 这里不需要更改其他选项,执行之后的效果如图3所示 。可以看到原来的“属性列已经被分隔为属性1、属性2两列,“属性1是各门学科的名称,“属性2则是成绩、等第 。
由于“属性2列仍然混合了成绩、等第这两个内容,因此还需要将这些内容区分开来 。选择“属性2列,切换到“转换选项卡,在“任意列功能组单击“透视列按钮,这一操作是为了使用当前选中列中的名称创建新列 , 此时会弹出“透视列对话框,在“值列下拉列表框选择“值,点击“高级选项前面的按钮,在下拉列表框选择“不要聚合,最终设置如图所示 。
完成上述设置之后,原有的“属性2列已经被转换为成绩、等第两个新的列 。如果觉得默认的“属性1不太合适,可以右击重命名为“学科 。关闭查询编辑器,此时会提示是否保留更改,确认之后会返回Excel主界面 , 此时就可看到最终效果 。接下来可以根据对各个项目进行适当的筛选,感兴趣的朋友可以一试 。
扩展阅读:利用PowerQuery快速分离混合文本
如图所示的“DATA列都是字母、数字的混合文本 。现在要求依次提取纯文本、纯数值、不重复数值 。手工提取显然是相当麻烦 , 而且也容易出错,利用PowerQuery内置的函数可以轻松实现 。
在源数据选择“DATA列的数据区域,切换到“数据选项卡,在“获取和转换功能组单击“从表格按钮,此时会打开查询编辑器 , 切换到“添加列选项卡,单击“常规功能组的“添加自定义列按钮,此时会弹出“添加自定义列对话框,首先将默认的列名“Custom修改为“纯文本,接下来在下面的“自定义列公式窗格输入“=Text.Trim,),检查无误之后单击“确定按钮,很快就可以在新添加的自定义列显示从“DATA列提取出来的纯文本内容,按照同样的方法继续添加“纯数值、“不重复数值两个自定义列,公式分别为“=Text.Remove,),)和“=Text.Combine)),请注意后一个公式的“纯数值必须与上一个自定义列的名称保持一致 , 否则会提示“Error 。
关闭查询编辑器,在提示是否保留更改时 , 请选择“保留,返回Excel主界面之后 , 就可以看到分离效果 。


相关经验推荐