![](/img/trans.png)
[英]How to make R insert a '0' in place of missing values while reading a CSV?
[英]How to ignore comma in values while reading csv files in R?
我正在從包含一堆 csv 文件的文件夾中讀取 R 中的 csv 文件。 我只需要讀取文件名包含特定字符串(“冗余”)的選定文件。 在某些所需文件中,其中一個列(“ROLE”)值包含逗號。 我需要忽略這些逗號。 我該怎么做?
例如:一些所需的文件具有如下值:
User,ROLE,Rule ID<br/>
amit,[oi.freetier.developer, gse.automationengineer],R12345
當我執行以下代碼時:
files <- list.files(pattern='.*REDUNDANT(.*).csv$')
tbl <- sapply(files, read_csv, col_types = cols(.default = "c"), quote = "[]", simplify=FALSE) %>%
bind_rows(.id = "id") %>% select(id, `User Login`, `Rule ID`) %>% distinct()
我得到的結果如下:
id `User` `Rule` <chr> <chr> <chr> 1 Users.csv_REDUNDANT_amit.csv amit gse.automationengineer]
您可以首先將文件作為原始文本讀取,以便您可以用引號替換括號,然后將其作為 csv 讀取:
tbl <- sapply(files, function(f) {
gsub('\\[|\\]', '"', readLines(f)) %>%
read.csv(text = ., check.names = FALSE)
}) %>%
bind_rows(.id = "id") %>%
select(id, User, `Rule ID`) %>%
distinct()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.