2010-02-27 16 views

Odpowiedz

19

ponieważ pod pytaniem znajduje się znacznik "r", zakładam, że jest to pytanie typu R. W R, nie trzeba robić nic, aby obsłużyć cytowane przecinki:

> 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)) 
+8

Chciałbym, jeśli read.csv (i read.table w katalogu głównym) wziął argument "thousands.sep" jako znak, aby zezwolić (i usunąć) w danych numerycznych. Na razie myślę, że rozwiązanie gsub() jest wszystkim, co mamy. –

1

Patrząc na tego zestawu danych można je przetworzyć za pomocą „«(zwróć uwagę na dodatkową przestrzeń) jako intead SEPERATOR z»,”

-4

Jak o zrobieniu go jako procesem dwuetapowym. 1. Zastąp symbol "," znakiem TAB 2. Podziel na karcie.

Jestem zakładając .NET tu jednak zasada próbka miałaby zastosowanie w dowolnym języku

+0

Kilka uwag - 1) „R” oznacza tag Karsten używa „R”, a nie język .NET. 2) Zastąpienie wszystkich przecinów tabulatorami nie działałoby, w efekcie podział danych na złe. –

0

Można użyć następującego wyrażenia regularnego usunąć przecinki i wszelkie otaczające cudzysłowy opuścić Plain zawartości CSV

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

następnie przetwarzać go normalnie

Powiązane problemy