读取 Excel:无法打开 zip 文件 '..file.xlsx' 的评估错误
Reading Excel: evaluation error with zip file '..file.xlsx' cannot be opened
我在 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.
有什么想法吗?
错误消息是 readxl
的有趣说法 "file not found"。确切的代码行给了我完全相同的错误,并且该文件对我来说甚至不存在。
注意:我使用的是readxl
的1.0.0版本
如果您在使用 read_excel 函数之前忘记执行以下操作,就会发生这种情况
setwd("C:\map\map_in_map\map_in_map_in_map_where_the_file_is")
您可以尝试指定完整路径而不是 ./path/to/file
您可以指定文件的路径,仅当它嵌套在工作目录中时。
例如:如果您的工作目录是 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
我遇到了这个错误,但对我来说,这只是我在 Excel 中打开了 sheet,同时试图将其读入 R。我猜包错误地将其视为当 Excel 拥有它的部分所有权(这会阻止读取)时尝试读取 zip 文件。
如果您的 excel 工作表受密码保护,read_excel 将无法访问它并给您这个错误。
如果它需要保护,我会建议 p/w 保护它所在的文件夹,然后取消保护工作表。
如果您在公司的计算机上工作,请尝试更改文件限制。这对我来说解决了这个问题。
尝试创建一个新文件。单击 "save as" 并创建一个新名称。 运行 再次输入您的代码。它对我很有效:)
如果您使用了错误的读取功能,您也可能会遇到此错误。
例如,read_xlsx("file.xls" ...)
将抛出错误。
虽然已经给出了解决方案,但是为了便于记录,我将把我的情况留在这里:
我 运行 遇到了同样的问题,但不知道为什么。似乎我的 excel 文件因错误或类似问题而关闭。我不得不打开 excel 文件,然后再次保存。当我 运行 R 时,一切都很顺利。
对我来说,当 excel 电子表格仍在 MSExcel 中打开时,也会出现“评估错误:zip 文件”错误消息。
问题是我的工作目录中有隐藏文件。我将它们复制到外部并排除所有目录。现在当我 运行 代码时它可以工作了。
在我的例子中,xlsx 是使用 Excel 2007 创建的,这导致了这个问题。来自较新 Excel 版本的 Xlsx 文件有效。
在我的例子中,尽管我已经删除了文件,但该文件在目录中不可见。我不得不使用名为“Everyting”的软件搜索该文件并将其删除。之后就成功了。
对我来说,我正在从 Google 驱动器下载一个文件到扩展名为 .xlsx 的临时文件中...意识到 Google 驱动器中的文件是 .xls,所以我将其更改为有效。不过有点罕见。
我在 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.
有什么想法吗?
错误消息是 readxl
的有趣说法 "file not found"。确切的代码行给了我完全相同的错误,并且该文件对我来说甚至不存在。
注意:我使用的是readxl
如果您在使用 read_excel 函数之前忘记执行以下操作,就会发生这种情况
setwd("C:\map\map_in_map\map_in_map_in_map_where_the_file_is")
您可以尝试指定完整路径而不是 ./path/to/file
您可以指定文件的路径,仅当它嵌套在工作目录中时。 例如:如果您的工作目录是 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
我遇到了这个错误,但对我来说,这只是我在 Excel 中打开了 sheet,同时试图将其读入 R。我猜包错误地将其视为当 Excel 拥有它的部分所有权(这会阻止读取)时尝试读取 zip 文件。
如果您的 excel 工作表受密码保护,read_excel 将无法访问它并给您这个错误。 如果它需要保护,我会建议 p/w 保护它所在的文件夹,然后取消保护工作表。
如果您在公司的计算机上工作,请尝试更改文件限制。这对我来说解决了这个问题。
尝试创建一个新文件。单击 "save as" 并创建一个新名称。 运行 再次输入您的代码。它对我很有效:)
如果您使用了错误的读取功能,您也可能会遇到此错误。
例如,read_xlsx("file.xls" ...)
将抛出错误。
虽然已经给出了解决方案,但是为了便于记录,我将把我的情况留在这里:
我 运行 遇到了同样的问题,但不知道为什么。似乎我的 excel 文件因错误或类似问题而关闭。我不得不打开 excel 文件,然后再次保存。当我 运行 R 时,一切都很顺利。
对我来说,当 excel 电子表格仍在 MSExcel 中打开时,也会出现“评估错误:zip 文件”错误消息。
问题是我的工作目录中有隐藏文件。我将它们复制到外部并排除所有目录。现在当我 运行 代码时它可以工作了。
在我的例子中,xlsx 是使用 Excel 2007 创建的,这导致了这个问题。来自较新 Excel 版本的 Xlsx 文件有效。
在我的例子中,尽管我已经删除了文件,但该文件在目录中不可见。我不得不使用名为“Everyting”的软件搜索该文件并将其删除。之后就成功了。
对我来说,我正在从 Google 驱动器下载一个文件到扩展名为 .xlsx 的临时文件中...意识到 Google 驱动器中的文件是 .xls,所以我将其更改为有效。不过有点罕见。