25

我正在使用带有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.

有任何想法吗?

4

15 回答 15

19

我遇到了这个错误,但对我来说,只是我在尝试将其读入 R 时在 Excel 中打开了工作表。我猜包在 Excel 拥有部分所有权时尝试读取它时错误地将其视为 zip 文件它(这会阻止读取)。

于 2018-08-28T17:10:41.620 回答
15

错误消息是readxl说“找不到文件”的有趣方式。那行确切的代码给了我完全相同的错误,而且该文件甚至对我来说都不存在。

注意: 我使用的是 1.0.0 版readxl

于 2017-06-18T22:03:21.140 回答
3

您可以指定文件的路径,前提是它嵌套在工作目录中。例如:如果您的工作目录是 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
于 2018-06-28T15:24:42.010 回答
3

对我来说,当 Excel 电子表格仍在 MSExcel 中打开时,也会出现“评估错误:zip 文件”错误消息。

于 2020-10-27T09:13:45.703 回答
2

如果您的 excel 工作表受密码保护,read_excel 将无法访问它并会给您此错误。如果它需要保护,我建议 p/w 保护它所在的文件夹,然后取消保护工作表。

于 2018-11-22T11:50:18.133 回答
2

如果您使用了错误的读取功能,您也可能会收到此错误。

例如,read_xlsx("file.xls" ...)会抛出错误。

于 2020-04-29T23:52:14.193 回答
1

如果您在公司的计算机上工作,请尝试更改文件限制。这对我来说解决了这个问题。

于 2020-02-03T12:55:31.477 回答
1

如果您在使用 read_excel 函数之前忘记执行以下操作,可能会发生这种情况

setwd("C:\\map\\map_in_map\\map_in_map_in_map_where_the_file_is")
于 2017-10-19T07:25:34.937 回答
0

您可以尝试指定完整路径而不是./path/to/file

于 2018-04-19T13:33:33.477 回答
0

尝试制作一个新文件。单击“另存为”并命名。再次运行您的代码。对我来说效果很好:)

于 2020-02-29T04:21:16.957 回答
0

在我的情况下,xlsx 是使用 Excel 2007 创建的,这导致了这个问题。来自较新 Excel 版本的 Xlsx 文件有效。

于 2021-01-12T12:35:32.643 回答
0

就我而言,尽管我已将其删除,但该文件在目录中不可见。我不得不使用名为“Everyting”的软件搜索该文件,然后将其删除。之后它起作用了。

于 2021-04-14T09:12:22.413 回答
0

问题是我的工作目录中有隐藏文件。我将它们复制到外部并排除所有目录。现在,当我运行代码时它可以工作。

于 2020-11-18T13:36:30.370 回答
0

对我来说,我正在将 Google Drive 中的文件下载到扩展名为 .xlsx 的临时文件中......意识到 Google Drive 中的文件是 .xls,所以我将其更改为该文件并且它有效。不过这种情况很少见。

于 2021-07-02T07:47:52.043 回答
0

虽然已经给出了解决方案,但为了记录,我将把我的情况留在这里:

我遇到了同样的问题,不知道为什么。似乎我的 excel 文件因错误或类似原因而关闭。我不得不打开excel文件,然后再次保存。当我运行 R 时,一切都很顺利。

于 2020-09-07T13:12:36.920 回答