Читать текстовый файл с несколькими разделителями - PullRequest
2 голосов
/ 07 мая 2019

Я хочу прочитать данные для создания графика.

Мои исходные данные:

["201801",111],["201802",222],["201803",333]

Я хочу создать фрейм данных, например:

201801 111

201802 222

201803 333

Я пытался использовать

df <- read.table('fuel_data.txt',header=FALSE, sep = ",")

Это не работает, потому что "," используется не только для разделения данных внутри записи, но также для разделения разных записей. Есть ли способ прочитать данные такого рода во фрейм данных?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 07 мая 2019

Гораздо менее красиво, чем метод Г. Гротендика:

df <- readLines('fuel_data.txt')
df <- gsub("[", "", df, fixed = T)
# change ], for newlines
df <- gsub("],", "\n", df, fixed = T)
df <- gsub("]", "\n", df, fixed = T)
df <- read.table(textConnection(df), sep = ",")
df
# V1  V2
# 1 201801 111
# 2 201802 222
# 3 201803 333
2 голосов
/ 07 мая 2019

Замените каждую [новой строкой и каждой] и запятой пробелом, а затем прочитайте его в:

txt <- '["201801",111],["201802",222],["201803",333]'
read.table(text = chartr("[],", "\n  ", txt))

, давая:

      V1  V2
1 201801 111
2 201802 222
3 201803 333
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...