[英]Complex separators in read.csv
我正在嘗試處理R中的一個非常大的數據集。目前,該數據集已另存為CSV,並且正在使用read.csv將其導入。不幸的是,其中一個字段是Address,它自然包含逗號,R是顯然將它們作為分隔符閱讀。 一個正數,地址中的所有逗號后跟空格。
所以這是問題。 無論如何,告訴read.csv“,”不是分隔符,而是“,”是?
如果沒有,我是否可以將csv作為一個長字符串導入R,然后進行查找和替換? 或者,最后一招,您能否指出我要使用一個體面的文本編輯器的方向,以便我可以在自己的工作筆記本電腦上進行安裝?
謝謝,詹姆斯
我的第一個嘗試是使用引號或|
重新創建文件|
分隔器。
如果那不是一個選擇,那么我將嘗試使用readLines
和gsub
,假設我可以將所有這些字符串讀入內存。
library(dplyr)
File <-
paste("Name,Address,Occupation,Hair Color",
"Mary,123 Lamb St, Ruralsville, KY,Shepherd,Blonde",
"Jim,17 Elm St., Urban Center, TN,Butler,Brown",
sep = "\n")
write(File, tmp)
DF <- readLines(tmp) %>%
gsub(", ", "_;_", .) %>%
textConnection() %>%
read.csv() %>%
mutate(Address = gsub("_;_", ", ", Address))
unlink(tmp)
如果文件太大而無法讀取到內存中,我可能會嘗試編寫一個循環,一次讀取100,000行,在每個段上執行上述代碼,並將其寫入新的CSV。 新的CSV會正確地用R引用,並且應該讀得很好。
(我尚未嘗試編寫此循環。我希望您不會遇到這種情況)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.