我的代码如下:
read.csv("http://asic.gov.au/Reports/YTD/2018/RR20180420-001-SSDailyYTD.csv", skip=1, fileEncoding = "UTF-16", sep = "\t", header = FALSE)
- R 3.4.3 - 代码执行干净
- R 3.5.0 - 出现以下错误:
read.table 出错(file = file, header = header, sep = sep, quote = quote, : 输入中没有可用行
@hrbrmstr - session 信息读出
sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_Australia.1252 LC_CTYPE=English_Australia.1252
[3] LC_MONETARY=English_Australia.1252 LC_NUMERIC=C
[5] LC_TIME=English_Australia.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] stringr_1.3.0 RCurl_1.95-4.10 bitops_1.0-6 tidyr_0.8.0 lubridate_1.7.4
[6] zoo_1.8-1 ggplot2_2.2.1.9000 data.table_1.10.5 magrittr_1.5 dplyr_0.7.4
loaded via a namespace (and not attached):
[1] Rcpp_0.12.16 bindr_0.1.1 munsell_0.4.3 colorspace_1.3-2 lattice_0.20-35
[6] R6_2.2.2 rlang_0.2.0 plyr_1.8.4 tools_3.5.0 grid_3.5.0
[11] gtable_0.2.0 withr_2.1.2 yaml_2.1.18 lazyeval_0.2.1 assertthat_0.2.0
[16] tibble_1.4.2 bindrcpp_0.2.2 purrr_0.2.4 glue_1.2.0 stringi_1.1.7
[21] compiler_3.5.0 pillar_1.2.2 scales_0.5.0.9000 pkgconfig_2.0.1
- 这是新 R 版本中的错误还是
- 我是不是漏掉了什么
请帮助我!
最佳答案
我也收到错误。然而,这有效:
csv_url <- "http://asic.gov.au/Reports/YTD/2018/RR20180420-001-SSDailyYTD.csv"
download.file(csv_url, basename(csv_url))
read.csv(
basename(csv_url), skip = 1, fileEncoding = "UTF-16", sep = "\t", header = FALSE
)
如果您没有 https://bugs.r-project.org/bugzilla/ 帐户或者它不会让你制作一个,请告诉我,我会在 Linux 系统上测试后为你提交一份错误报告(我在 macOS 上,如果你可以添加 sessionInfo()
你的问题是👍)
我会注意到,即使是 readr::read_tsv()
这个文件也存在问题,因此可能存在旧 R 版本不太严格的合法编码问题。
关于R 3.5 - read.csv 无法读取 UTF-16 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50070113/