You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中正确读取格式异常的xls文件?

解决方案

针对你遇到的伪装成xls的文本文件读取问题,可按以下步骤处理:

  • 先排查文件原始结构
    先用readLines查看文件前20行内容,确认数据起始位置、分隔符规则:

    raw_lines <- readLines("D:/Usuario/pivo1/table.xls", n = 20)
    print(raw_lines)
    

    从输出里能明确:目标数据是否从第9行开始、每行的分隔符是否确实是;、是否有表头行等关键信息。

  • 精准读取有效数据
    根据上面的排查结果,用文本读取函数跳过无效行,指定正确参数:

    # 假设目标数据从第9行开始,无表头,分隔符为;
    data <- read.table("D:/Usuario/pivo1/table.xls", 
                       sep = ";", 
                       skip = 8,  # 跳过前8行无效内容
                       header = FALSE,
                       stringsAsFactors = FALSE)
    

    如果文件符合欧洲CSV格式(分号分隔),也可以用read.csv2简化:

    data <- read.csv2("D:/Usuario/pivo1/table.xls", skip = 8, header = FALSE)
    
  • 解析日期时间数据
    读取后若日期时间是合并字符串,用lubridate包解析:

    library(lubridate)
    # 根据实际日期格式调整函数,比如dmy_hms、mdy_hms等
    data$datetime <- dmy_hms(data[, 1])
    

问题根源说明

你的文件扩展名是.xls,但实际是纯文本格式(而非二进制Excel文件),所以readxl、xlsx等专门读取Excel二进制文件的包无法识别,只能用文本类读取函数处理。

内容的提问来源于stack exchange,提问作者Matheus Westphalen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 13:02:15