使用readr::read_delim()读取竖线分隔文件失败,求解决方案
问题:readr::read_delim读取竖线分隔文件出现列偏移和NA值
尝试使用readr::read_delim()函数读取竖线|分隔的txt文件时失败,具体表现为第77410行出现缺失值(NA)且列值发生偏移。
原文件第77408至77411行内容如下:
3503|c^^ZVSS|240|2|A1|240|19.3965|0.0|0.0|0.0|0.0|0.0|18588.8|7|7|7|9|1|2022-12-02 09:57:02| 3995|c^\^]SS|240|2|A1|240|19.3965|0.0|0.0|0.0|0.0|0.0|100300.0|6|6|6|9|1|2022-12-02 12:38:08| 3430|_cWUTPK|240|1|A1|240|19.3965|6789.0|0.0|0.0|776.0|0.0|101.153|7|7|7|9|1|2022-12-02 14:57:01| 3172|fa_^YWY|300|1|A1|300|19.3965|0.0|0.0|0.0|0.0|0.0|0.299|7|7|7|9|1|2022-12-02 18:01:01|
使用的read_delim()代码如下:
dic_501 <- read_delim("t_501.txt", delim = "|", col_names = FALSE, col_select = c(1:5, 18, 19, 20), col_types = cols(X1 = col_integer(), X2 = col_character(), X3 = col_integer(), X4 = col_character(), X5 = col_character(), X18 = col_integer(), X19 = col_character(), X20 = col_character() ), escape_backslash = FALSE, escape_double = TRUE, skip_empty_rows = TRUE )
读取后结果存在列偏移和NA值问题,期望各列值能正确对应。目前已通过read.table()解决该问题,代码如下:
T_501 <- read.table("t_501.txt", sep = "|", header = FALSE, stringsAsFactors = FALSE, fill = TRUE, quote = "", skipNul = TRUE, colClasses = c("V3" = 'character', "V6" = "character"))
请问如何使用read_delim()或其他readr包函数正确读取该文件?
内容的提问来源于stack exchange,提问作者Eduardo López
相关产品推荐
相关产品推荐

