gpt4 book ai didi

r - 如何在 R 中压缩多个 CSV 文件?

转载 作者:行者123 更新时间:2023-12-04 12:12:16 25 4
gpt4 key购买 nike

我正在尝试在 R 中压缩多个 CSV 文件。以下是引用代码。

# Create two dataframes using inbuilt datasets for reproducible code
df1 <- head(mtcars)
df2 <- head(iris)

# Write the files as CSV into working directory
write.csv(df1, file = "Test_File1.csv", row.names = FALSE, quote = FALSE)
write.csv(df2, file = "Test_File2.csv", row.names = FALSE, quote = FALSE)

# Read the 2 CSV file names from working directory
Zip_Files <- list.files(path = getwd(), pattern = ".csv$")

# Zip the files and place the zipped file in working directory
zip(zipfile = "TestZip", files = Zip_Files)

我收到以下警告消息。尚未创建 Zip 文件。
Warning message:
running command '"zip" -r9X "TestZip" "Test_File1.csv" "Test_File2.csv" ' had status 127

我什至尝试过这个命令来读取 CSV 文件名: Zip_Files <- list.files(path = getwd(), pattern = ".csv$", full.names = TRUE)但我仍然收到上面显示的警告消息。我已经有 WinRAR7-Zip安装在我的电脑上。我正在使用最新版本的 R(3.4.2 64 位)以及最新版本的 RStudio。我有一个 Windows 7 x64 操作系统。对此的任何帮助将不胜感激。

最佳答案

问题是 R 的 zip实际上没有压缩(压缩)文件的代码。它调用一个外部程序来做到这一点。你必须让zip知道要使用什么程序以及为该程序提供什么参数。你应该能够像这样完成这项工作:

zip(zipfile = "TestZip", files = Zip_Files, flags = " a -tzip",
zip = "C:\\Program Files\\7-Zip\\7Z")
如果您的 7Z 路径(7Zip 的命令行版本)不同,请进行调整以匹配您的安装。
一些解释: zip = "C:\\Program Files\\7-Zip\\7Z"参数告诉 R 使用什么程序来执行压缩。在这种情况下,我将其指向 7Z,即 7Zip 的命令行版本,但您可以通过将其更改为指向不同的程序来使用其他命令行程序。 flags = " a -tzip"参数取决于您使用的程序。我为 7Z 设置了这个。阅读 7Z documentation你会看到你需要给 7Z 一个命令(“a”)和标志(“-tzip”)。 “a”命令表示将这些文件添加到存档中。 -tzip 标志意味着使它成为 zip 存档而不是 7Z 存档。对于不同的程序,您需要阅读文档并为该程序构建适当的标志。
更新:如果您需要在不同的客户机器上使用此功能,您应该考虑查看 zip package它不需要任何外部程序并提供类似的功能。

关于r - 如何在 R 中压缩多个 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47370686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com