我有如下文件:
|2000|,|23456745|,|23567897tyhgy6|,|SHARP, RODNEY H III|
|2000|,|12345678|,|34567tgh788877|,|WOOLARD, EDGAR S JR|
基本上,这些列由逗号分隔并由管道包裹。
如何使用R阅读类似内容?
我尝试过
read.table("file.txt", sep="|")
但这不能很好地工作,因为每隔一列仅包含一个逗号。我尝试使用“ |,|”作为分隔符,但显然不允许这样做。使用“,”根本不起作用,因为名称随后被分割了。
有什么简单的方法吗?
答案 0 :(得分:1)
您可以尝试用其他分隔符替换它:
plouf <- readChar("file.txt", file.info("file.txt")$size)
plouf <- gsub("\\|,\\|",";",plouf) # replace the separator
plouf <- gsub("\\|","",plouf) # remove the end pipes
read.table(plouf,sep=";") # read with the semi colon sep
测试:
plouf <- "|2000|,|23456745|,|23567897tyhgy6|,|SHARP, RODNEY H III|
|2000|,|12345678|,|34567tgh788877|,|WOOLARD, EDGAR S JR|"
plouf <- gsub("\\|,\\|",";",plouf)
plouf <- gsub("\\|","",plouf)
read.table(text = plouf,sep=";")
V1 V2 V3 V4
1 2000 23456745 23567897tyhgy6 SHARP, RODNEY H III
2 2000 12345678 34567tgh788877 WOOLARD, EDGAR S JR
答案 1 :(得分:1)
read.table("./temp.csv", sep=",", quote = "|")
将解决问题...