r - R read_excel:libxls错误:无法解析文件
问题描述
我正在尝试使用 readxl::read_excel 将 xls 文件读入 R,但它给出了以下错误:
Error:
filepath: //.../data.xls
libxls error: Unable to parse file
还尝试了 readxl::excel_sheets(),但同样的错误。
- readxl::format_from_ext(path) 给出“xls”
还尝试重新安装 readxl 包,对我不起作用。
我目前的替代方法是使用 Excel 将此文件转换为“xlsx”,然后使用 readxl::read_excel 读取,但我想直接导入“xls”。
如何解决?
解决方案
我经常遇到这个问题(完全相同的错误消息),这似乎与 .xls 文件的保存或导出方式有关。例如。在 excel 中,如果您检查工作表,它有时会出现警告。但是,当您有自动文件或需要由 R 打开的大量文件时,检查或重新保存是不切实际的。我有一些示例 .xls 文件无法被 readxl、openxlsx 库加载,无论如何我尝试的选项(例如,指定工作表,这通常可以解决加载 excel 工作表的问题)。我终于解决了这个问题,只需使用 XLConnect 包(请注意,它确实需要安装 Java)。您没有示例文件,我无法分享我正在处理的文件,但试试这个
install.packages('XLConnect')
library(XLConnect)
# to load sheet one of 'test.xls', and my sheet does not have a header
# method one, read workbook, followed by worksheet
f <- loadWorkbook('test.xls')
d <- readWorksheet(f, 1, header = F)
# method two, read sheet directly into your dataframe
d <- readWorksheetFromFile ('test.xls', 1, header = F)
推荐阅读
- ms-access - 基于表单列表框中的多项选择将过滤器应用于访问查询
- javascript - 如何使用 Javascript 从托管在安全 HTTPS 协议上的网站上的 Firestore 数据中获取数据
- android - titleList 显示不正确..?
- android - Firebase 动态链接 UTM 参数
- c# - 在c#中拆分stringurl
- spring-mvc - 如何通过spring-mvc表单绑定我的dto中存在的对象
- android - 为什么同一个pt在不同设备下显示不同大小
- java - 如何使用 jnetpcap 读取特定端口中的 rtp 流
- php - 如何使用 ajax 从 PHP 循环逐步更新 div?
- c# - 如何使用c#从gridview映射两个不同的值