Как я могу объявить разделитель тысяч в read.csv? - PullRequest
12 голосов
/ 27 февраля 2010

Набор данных, в котором я хочу прочитать, содержит числа с запятой и без запятой в качестве разделителя тысяч:

"Sudan", "15,276,000", "14,098,000", "13,509,000"
"Chad", 209000, 196000, 190000

и я ищу способ прочитать эти данные.

Любая подсказка приветствуется!

Ответы [ 4 ]

19 голосов
/ 27 февраля 2010

, так как под вопросом стоит тег "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))
1 голос
/ 27 февраля 2010

Глядя на этот набор данных, вы можете проанализировать его, используя "," (обратите внимание на дополнительный пробел) в качестве целого числа разделителя ","

0 голосов
/ 27 февраля 2010

Вы можете использовать следующее регулярное выражение для удаления запятых и любых окружающих кавычек, чтобы оставить простой CSV-контент

,(?=[0-9])|"

затем обработайте его как обычно

0 голосов
/ 27 февраля 2010

Как насчет того, чтобы сделать это в два этапа. 1. Замените "," на символ табуляции 2. Разделить на вкладку.

Я предполагаю, что .NET здесь, но принцип образца будет применяться на любом языке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...