全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
28129 22
2014-08-06

Excel中读入数据

有三种方法,

第一种把Excel文件另存为逗号分割符文件(csv格式),然后用read.csv读入;第二种是利用RODBC包,采用命令

library(RODBC)

channel <-odbcConnectExcel("myfile.xls")

mydataframe <- sqlFetch(channel, "MySheet")

odbcClose(channel)

读入;

第三种是对于Excel 2007及以上版本,利用xlsx包读入

library(xlsx)

workbook <-"c:/myworkbook.xlsx"

mydataframe <- read.xlsx(workbook, 1)

注释:第三种方法对Excel早期版本也可以,此时需要把扩展名写为xls即可。

问题:如果第一行是变量名并且其中某个或者某些变量名有空格,第一种和第三种方法读入时空格变成了实心句号,第二种方法还是空格,如何使用第一种和第三种方法不把空格转换为实心句号?


代码如下:

复制代码

示例数据见附件


my.rar
大小:(11.17 KB)

 马上下载

本附件包括:

  • myfile.xls
  • myfile1.xlsx
  • myfile.csv


谢谢各位!




二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-8-6 23:49:42
找了找read.csv的帮助,col.names参数貌似能用。但是它要求是字符串向量。如果你能先把数据源里面的变量名先读进R,然后给到read.csv的col.names参数里面,应该能搞定。

或者,

把数据都读进R,单独读进变量名,然后用colnames命名。

2个方法都涉及到单独读变量名,不是很完美。不知道还有没有其它办法。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-7 12:35:03
如果数据量不是很大,也可用用read.table(clipborad)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-8 23:16:59
我觉得最好还是用CSV 如果数据太大用xlsx包有时会出错,而且速度极慢~也可以考虑复制保存成txt格式的,个人感觉更好
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-9 15:53:32
Aharach 发表于 2014-8-6 23:49
找了找read.csv的帮助,col.names参数貌似能用。但是它要求是字符串向量。如果你能先把数据源里面的变量名先 ...
您这个方法是可行的,但是就是您说的需要单独读入,不知道有没有一起读入的方法,谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-8-9 15:54:29
crystal8832 发表于 2014-8-7 12:35
如果数据量不是很大,也可用用read.table(clipborad)
多谢,这个也是一个办法,但是不知道能不能解决我的问题!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群