大数据人|大数据第一社区

 找回密码
 注册会员

扫一扫,访问微社区

查看: 988|回复: 0

[其它] R语言读取excel文件各种方法

[复制链接]
  • TA的每日心情
    奋斗
    2015-7-30 23:05
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    852

    主题

    972

    帖子

    4804

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    4804
    QQ
    发表于 2015-7-14 16:45:22 | 显示全部楼层 |阅读模式
    第一:R中读取excel文件中的数据的路径:
          假定在您的电脑有一个excel文件,原始的文件路径是:D:\work\data\1
          如果直接把这个路径拷贝到R中,就会出现错误,原因是:
        \是escapecharacter(转义符),\\才是真正的\字符,或者用/

          因此,在R中有两种方法读取该路径:
          1:在R中输入一下路径:D:\\work\\data\\1
          2:在R中输入一下路径:D:\\work\\data\\1
    第二:R中读取excel文件中的数据的方法
          read.table(),read.csv(),read.delim()直接读取EXCEl文件时,都会遇到一下问题:“在读取‘.xls’的TableHeader时遇到不完全的最后一行”。解决的方法有以下几种:假如文件1.1中是一个6乘以2的矩阵,元素为:
                
      
    1
      
      
    23
      
      
    2
      
      
    24
      
      
    3
      
      
    25
      
      
    4
      
      
    26
      
      
    5
      
      
    27
      
      
    6
      
      
    28
      
          方法1:xls另存为csv格式然后用read.csv:
    具体过程如下:
    > data<-read.csv("D:\\work\\data\\1.csv")
    > data
      X1 X23
    1  2     24
    2  3     25
    3  4     26
    4  5     27
    5  6     28
    > data<-read.csv("D:\\work\\data\\1.csv",header = F)
    > data
      V1    V2
    1  1 23333
    2  2    24
    3  3    25
    4  4    26
    5  5    27
    6  6    28
    > data<-read.csv("D:\\work\\data\\1.csv",header = T)
    > data
      X1 X23333
    1  2     24
    2  3     25
    3  4     26
    4  5     27
    5  6     28
    也就是说header= T(TURE)是默认的状态,在这默认状态下,输出的data矩阵是一个5乘以2的矩阵,第一行作为了data的名字,如果header = F(FALSE),则会现实原始的矩阵结果。
       方法2:xls另存为txt格式然后用read.table:
    如例子所示:
    >data<-read.table("D:\\work\\data\\1.txt",header = T)
    > data
      X1 X23
    1  2  24
    2  3  25
    3  4  26
    4  5  27
    5  6  28
    >data<-read.table("D:\\work\\data\\1.txt",header = F)
    > data
      V1 V2
    1  1 23
    2  2 24
    3  3 25
    4  4 26
    5  5 27
    6  6 28
       方法3:打开EXCEL,全选里面的内容,点击复制,然后在R中输入一下命令:
    data <-read.table("clipboard", header = T, sep = '\t')
    结果如下所示:
    > data <-read.table("clipboard", header = T, sep = '\t')
    > data
      X1 X23
    1  2  24
    2  3  25
    3  4  26
    4  5  27
    5  6  28
    > data <- read.table("clipboard", header = F, sep = '\t')
    > data
      V1 V2
    1  1 23
    2  2 24
    3  3 25
    4  4 26
    5  5 27
    6  6 28
    使用这种方法的时候一定要注意复制!剪切板里面没有内容是无法运行的!以上是三种方法,如果还有别的更好的,请大家补充,谢谢!

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条


    id="mn_portal" >首页Portalid="mn_P18" onmouseover="navShow('P18')">应用id="mn_P15" onmouseover="navShow('P15')">技术id="mn_P37" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">前沿id="mn_P36" onmouseover="navShow('P36')">宝箱id="mn_P61" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">专栏id="mn_P65" >企业id="mn_Nd633" >导航 折叠导航 关注微信 关注微博 关注我们

    QQ|广告服务|关于我们|Archiver|手机版|小黑屋|大数据人 ( 鄂ICP备14012176号-2  

    GMT+8, 2024-3-29 17:51 , Processed in 0.266691 second(s), 35 queries .

    Powered by 小雄! X3.2

    © 2014-2020 bigdataer Inc.

    快速回复 返回顶部 返回列表