簡體   English   中英

read.csv中的復雜分隔符

[英]Complex separators in read.csv

我正在嘗試處理R中的一個非常大的數據集。目前,該數據集已另存為CSV,並且正在使用read.csv將其導入。不幸的是,其中一個字段是Address,它自然包含逗號,R是顯然將它們作為分隔符閱讀。 一個正數,地址中的所有逗號后跟空格。

所以這是問題。 無論如何,告訴read.csv“,”不是分隔符,而是“,”是?

如果沒有,我是否可以將csv作為一個長字符串導入R,然后進行查找和替換? 或者,最后一招,您能否指出我要使用一個體面的文本編輯器的方向,以便我可以在自己的工作筆記本電腦上進行安裝?

謝謝,詹姆斯

我的第一個嘗試是使用引號或|重新創建文件| 分隔器。

如果那不是一個選擇,那么我將嘗試使用readLinesgsub ,假設我可以將所有這些字符串讀入內存。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM