我在 R 工作,试图从乌拉圭获得一个国家指数,我需要计算不变价格。
在我使用 httr 包中的 fil 函数和下一行代码之前:
fil= GET("https://www.ine.gub.uy/c/document_library/get_file?uuid=ed831b06-8dbd-437c-81cf-c814b4248b06&groupId=10181",
write_disk("ine.xlsx", overwrite = T))
有了这个,所有的工作都完成了。
问题是最近网页变了,现在我以前下载的文件, 它是一个 zip 文件,我现在正在努力从 zip 中获取一个 excel 文件。
这里我留下了url方向。网址 :
https://www5.ine.gub.uy/documents/Estad%C3%ADsticasecon%C3%B3micas/SERIES%20Y%20OTROS/IPC/Base%20Octubre%202022=100/IPC%20-%20Base%20Octubre%202022=100.rar
我尝试过存档包和下载文件,但我什至无法接近我的目标。
有什么建议吗?
如果你们有人想知道,我想要从 zip 中提取的文件是下一个:
IPC General_Total Pais_Montevideo_Interior_base 2022.xlsx
另一个事实是我的电脑里有 7-zip。不知道它是否改变了什么。
已经谢谢了!
这是一个 Rar 存档,将其保存为其他内容(如 zip)可能会使提取器感到困惑。如果您碰巧使用
download.file()
,您很可能必须将它与 mode = "wb"
一起使用,至少使用 Windows 上的默认下载方法:
二进制传输的选择(
或mode = "wb"
)在 Windows 上很重要,因为与 Unix-alikes 不同,它确实区分文本和二进制文件以及文本传输更改 行尾为 (又名“CRLF”)。"ab"
尽管使用
archive
包你可以将它指向 URL,如果你不想保留存档:
rar <- "https://www5.ine.gub.uy/documents/Estad%C3%ADsticasecon%C3%B3micas/SERIES%20Y%20OTROS/IPC/Base%20Octubre%202022=100/IPC%20-%20Base%20Octubre%202022=100.rar"
filename <- "IPC General_Total Pais_Montevideo_Interior_base 2022.xlsx"
archive::archive_extract(archive = rar,
dir = tempdir(),
files = filename)
readxl::read_xlsx(file.path(tempdir(), filename))
#> Warning: Expecting numeric in A1032 / R1032C1: got 'Fuente: Instituto Nacional
#> de Estadística (INE).'
#> # A tibble: 1,031 × 5
#> Año Mes `General Total Pais` `General Montevideo` `General Interior`
#> <dbl> <dbl> <dbl> <chr> <chr>
#> 1 1937 7 0.000000159 .. ..
#> 2 1937 8 0.000000160 .. ..
#> 3 1937 9 0.000000159 .. ..
#> 4 1937 10 0.000000160 .. ..
#> 5 1937 11 0.000000161 .. ..
#> 6 1937 12 0.000000161 .. ..
#> 7 1938 1 0.000000162 .. ..
#> 8 1938 2 0.000000156 .. ..
#> 9 1938 3 0.000000155 .. ..
#> 10 1938 4 0.000000155 .. ..
#> # ℹ 1,021 more rows
创建于 2023-03-22 与 reprex v2.0.2