我正在尝试使用包中的read_excel()
函数打开一个 Excel 文件readxl
。但我不知道如何指定 Excel 文件的路径。
当我按照答案中给出的步骤输入文件路径时,我收到错误:
“错误:std::bad_alloc”。
首先加载包:
library(readxl)
根据包开发页面,您只需将文件名指定为字符串,例如:
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()
如评论中所述,该错误消息是由文件大小问题引起的。请参阅以下位置的包问题:https ://github.com/hadley/readxl/issues/150 。
刚遇到这个问题,重新读取文件的时候读取成功!
正如 vladdsm 在 github 上指出的那样,关闭并重新打开 Rstudio 可以解决问题 https://github.com/tidyverse/readxl/issues/150#issuecomment-236883769
In my case I have opened the file in LibreOffice Calc (you could use Excel of course but I don't own that), removed the complex header rows containing merged cells and colored backgrounds etc, simplified it manually into a 1-row header, then saved the file. The new Excel file was much smaller, and Importing in with readxl::read_excel()
was possible now.
Perhaps the software cleaned up the file internally in a different manner as well.
Of course this works only if importing into R is a one-off task, a single Excel file with a few sheets at most.
我在尝试将 xlsx 文件读入 R 环境时遇到了同样的问题。文件大小不大。在我重新安装 readxl 包后问题得到解决。
估计是你的记忆有问题。也许您打开了其他程序,因此没有足够的内存来加载和处理 R 中的数据文件。如果数据文件很大,则可能会发生这种情况。
您可以在尝试读取 xlsx 文件时轻松地在任务管理器中进行检查。
关于巴斯蒂