我尝试使用read_excel()
包中的readxl
功能打开Excel文件。但我不知道如何指定Excel文件的路径。
当我按照答案中给出的步骤输入文件路径时,收到错误:
"错误:std :: bad_alloc"。
答案 0 :(得分:4)
首先加载包:
library(readxl)
根据包development page,您只需将文件名指定为字符串,例如:
read_excel("my-old-spreadsheet.xls")
read_excel("my-new-spreadsheet.xlsx")
您还可以指定工作表的名称或编号:
read_excel("my-spreadsheet.xls", sheet = "data")
read_excel("my-spreadsheet.xls", sheet = 2)
使用getwd()
确保您在正确的目录中。如果没有,请使用setwd()
答案 1 :(得分:1)
如评论中所述,该错误消息是由文件大小问题引起的。请参阅以下网址:https://github.com/hadley/readxl/issues/150。
答案 2 :(得分:0)
在我的情况下,我已经在LibreOffice Calc中打开了文件(你当然可以使用Excel但我不拥有它),删除包含合并单元格和彩色背景等的复杂标题行,将其手动简化为1行标题,然后保存文件。新的Excel文件要小得多,现在可以使用readxl::read_excel()
导入。
也许软件也会以不同的方式在内部清理文件。
当然,仅当导入R是一次性任务,一个Excel文件最多只有几张时,这才有效。
答案 3 :(得分:0)
刚遇到此问题,当重新读取文件时,我读取成功!
正如vladdsm在github上指出的那样,关闭并重新打开Rstudio可以解决问题 https://github.com/tidyverse/readxl/issues/150#issuecomment-236883769
答案 4 :(得分:0)
在尝试将xlsx文件读入R环境时,我遇到了同样的问题。文件大小不大。重新安装readxl程序包后,该问题已解决。
答案 5 :(得分:-2)
我猜你的记忆有问题。也许你打开了其他程序,所以没有足够的内存来加载和处理 R 中的数据文件。如果数据文件很大,这可能会发生。
您可以在尝试读取 xlsx 文件时在任务管理器中轻松检查。
问候巴斯蒂