Чтение файлов, разделенных запятой и запятой: | column1 |, | column2 | - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть файлы, которые выглядят так:

|2000|,|23456745|,|23567897tyhgy6|,|SHARP, RODNEY H III|
|2000|,|12345678|,|34567tgh788877|,|WOOLARD, EDGAR S JR|

По сути, столбцы разделены запятыми и обернуты трубами.

Как мне прочитать что-то подобное, используя R?

Я пробовал

read.table("file.txt", sep="|")

, но это не работает, так как каждый второй столбец содержит запятую.Я пытался использовать "|, |"в качестве разделителя, но, видимо, это не допускается.Использование «,» вообще не работает, поскольку имена разделяются.

Есть ли простой способ сделать это?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

read.table("./temp.csv", sep=",", quote = "|") добьется цели ...

0 голосов
/ 07 февраля 2019

Вы можете просто попытаться заменить его другим разделителем:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...