Как объявить тысячу разделителей в read.csv?
Набор данных, который я хочу прочитать, содержит числа с запятой и без нее как разделитель тысяч:
"Sudan", "15,276,000", "14,098,000", "13,509,000"
"Chad", 209000, 196000, 190000
и я ищу способ прочитать эти данные.
Любой намек оценили!
Ответы
Ответ 1
поскольку в вопросе есть тэг r, я предполагаю, что это вопрос R.
В R вам не нужно ничего делать, чтобы обрабатывать цитируемые запятые:
> read.csv('t.csv', header=F)
V1 V2 V3 V4
1 Sudan 15,276,000 14,098,000 13,509,000
2 Chad 209000 196000 190000
# if you want to convert them to numbers:
> df <- read.csv('t.csv', header=F, stringsAsFactor=F)
> df$V2 <- as.numeric(gsub(',', '', df$V2))
Ответ 2
Глядя на этот набор данных, вы можете его проанализировать с помощью "," (обратите внимание на дополнительное пространство) в качестве разделителя вместо ","
Ответ 3
Вы можете использовать следующее регулярное выражение, чтобы удалить запятые и любые окружающие метки кавычек, чтобы оставить простой контент csv
,(?=[0-9])|"
затем обработать его как обычно
Ответ 4
Как сделать это как двухэтапный процесс.
1. Замените символ "," символом TAB
2. Разделите вкладку.
Я предполагаю .NET здесь, но примерный принцип будет применяться на любом языке