如何在R中下载压缩文件夹并读取指定表格?及相关报错排查
解决方法
核心问题
你遇到的解压错误,本质是download.file默认在Windows系统下用文本模式下载二进制zip文件,导致文件损坏。另外注意你代码里要读取的是ces_earnings.txt,但你说明目标是ces_minor表格,可能存在文件名匹配错误,需要先确认zip内的实际文件。
步骤1:修正下载模式
修改download.file,添加mode="wb"参数(二进制模式),保证zip文件完整下载:
temp <- tempfile() # 关键:添加mode="wb"以二进制模式下载 download.file("https://dol.ny.gov/statistics-ceszip", temp, mode = "wb")
步骤2:确认zip内的文件列表
先解压查看zip里的所有文件,避免找错文件名:
# 查看zip内的文件清单 unzip(temp, list = TRUE)
运行后会输出zip内所有文件的名称、大小等信息,确认你要的ces_minor相关文件具体名称(比如是否是ces_minor.txt或其他格式)。
步骤3:读取正确的文件
根据上一步得到的文件名,替换到read.table中。比如如果实际目标文件是ces_minor.txt,代码如下:
# 根据文件实际结构决定是否添加header=TRUE等参数 table <- read.table(unz(temp, "ces_minor.txt"), header = TRUE) unlink(temp)
额外排查点
如果还是报错,检查:
- 网络连接是否稳定,尝试重新下载
- 确认目标文件确实存在于该zip包中(部分网站的下载链接可能存在内容更新或跳转)
内容的提问来源于stack exchange,提问作者skred
相关产品推荐
相关产品推荐

