我们压缩文件夹里的目录结构如下:
123.zip
└── 附件
└── 管理.docx
1. 读取ZIP文件
使用 R 里面的 zip 来读取压缩文件:
> setwd("f:")
> zip::zip_list("./123.zip")
filename compressed_size uncompressed_size timestamp
1 <U+00B8><U+00BD><U+00BC><fe>/<U+00B9><dc><c0><ed>.docx 11884 14750 2021-07-27 11:25:58
permissions crc32 offset
1 600 f9e9b0eb 0
显然这个 filename 字段是乱码的,不符合我们的要求,可采用以下方式读取:
> iconv(zip::zip_list("./123.zip"), to = "UTF-8")
[1] "附件/管理.docx" "11884" "14750" "1627385158" "384" "-102125333"
[7] "0"
2. 解压ZIP文件
再来看一下解压 ZIP 文件:
> zip::unzip(zipfile = "./123.zip", junkpaths = TRUE, exdir = "./tmp")
查看下 tmp 文件夹的文件,显然是乱码的,采用以下方法进行解决:
unzip("./123.zip")
这里不可以用 zip::unzip
来进行解压,会出现乱码。