我正在使用带有readxl
包的R.我尝试使用以下命令导入Excel文件:
library(readxl)
city_codes <- read_excel("./data/file.xlsx", sheet = "city_codes")
它说它是一个zip文件,无法打开:
Error in sheets_fun(path) : Evaluation error: zip file './data/file.xlsx' cannot be opened.
有什么想法吗?
答案 0 :(得分:11)
错误消息是readxl
有趣的说法&#34;找不到文件&#34;。确切的代码行给了我完全相同的错误,而且文件对我来说甚至都不存在。
注意:我在readxl
的1.0.0版
答案 1 :(得分:3)
我遇到了这个错误,但是对我来说,只是我试图将其读入R时在Excel中打开了工作表。我猜想当在Excel中尝试读取它时,程序包错误地将其视为zip文件拥有它的部分所有权(这会阻止读取)。
答案 2 :(得分:1)
您可以指定文件的路径,仅当文件嵌套在工作目录中时。 例如:如果您的工作目录是MyWD,并且其中有一个名为MyData的文件夹,而在MyData中有另一个名为MyNestedData的文件夹,最后是myExcelFile.xlsx
read_excel("MyData/MyNestedData/myExcelFile.xlsx",sheet = "Sheet2") #will work
read_excel("MyWD/MyData/MyNestedData/myExcelFile.xlsx",sheet = "Sheet2") #will not work
答案 3 :(得分:1)
对我来说,当仍在MSExcel中打开excel电子表格时,也会出现“评估错误:zip文件”错误消息。
答案 4 :(得分:0)
如果在使用read_excel函数
之前忘记执行以下操作,可能会发生这种情况setwd("C:\\map\\map_in_map\\map_in_map_in_map_where_the_file_is")
答案 5 :(得分:0)
您可以尝试指定完整路径,而不是./path/to/file
答案 6 :(得分:0)
如果您的excel工作表受密码保护,则read_excel将无法访问它,并且会出现此错误。 如果需要保护,我建议p / w保护其中的文件夹,然后取消保护工作表。
答案 7 :(得分:0)
如果使用公司的计算机,请尝试更改文件限制。这对我来说解决了这个问题。
答案 8 :(得分:0)
尝试制作一个新文件。点击“另存为”并重新命名。再次运行您的代码。对我来说效果很好:)
答案 9 :(得分:0)
如果使用了错误的读取功能,也可能会收到此错误。
例如,read_xlsx("file.xls" ...)
将引发错误。
答案 10 :(得分:0)
虽然已经给出了解决方案,但是出于文档目的,我将把情况留在这里:
我遇到了同样的问题,不知道为什么。看来我的excel文件已关闭,出现错误或类似错误。我必须打开excel文件,然后再次保存。当我运行R时,一切正常。
答案 11 :(得分:0)
问题是我的工作目录中有隐藏文件。我将它们复制到外部并排除所有目录。现在,当我运行代码时,它就可以工作。
答案 12 :(得分:0)
就我而言,xlsx 是使用 Excel 2007 创建的,这导致了此问题。来自较新 Excel 版本的 Xlsx 文件有效。
答案 13 :(得分:0)
就我而言,尽管我已将其删除,但该文件在目录中不可见。我不得不使用名为“Everyting”的软件搜索该文件,然后将其删除。之后就成功了。
答案 14 :(得分:0)
对我来说,我正在将一个文件从 Google Drive 下载到一个扩展名为 .xlsx 的临时文件中...意识到 Google Drive 中的文件是 .xls,所以我将其更改为该文件并且它起作用了。不过这种情况很少见。