2010-02-27 64 views
12

我要讀入數據集包含數字有和沒有逗號作爲千個分隔符:如何在read.csv中聲明千位分隔符?

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

,我正在尋找一種方式來在讀取該數據

知道的任何提示!

回答

19

因爲問題下有一個「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)) 
+8

如果read.csv(和root.read.table)將'thousands.sep'參數作爲允許(並剝離)數字數據的字符,我會喜歡它。現在我認爲gsub()解決方案就是我們所有的。 – 2010-03-02 17:50:51

1

望着那組數據,你可以使用解析它的「‘(注意額外的空間)作爲分隔符的這一翻譯’,」

-4

如何做的兩個步驟。 1.用TAB字符替換「,」 2.在選項卡上拆分。

我在這裏假定.NET但樣本原則將適用於任何語言

+0

一對夫婦的意見 - 1)中的「R」標記,則意味着卡斯滕使用「R」的語言,而不是.NET。 2)用製表符替換所有逗號將無效,最終會以不好的方式分割數據。 – 2010-03-02 17:40:21

0

你可以使用下面的正則表達式來刪除逗號和周圍的任何引號離開平原CSV內容

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

然後處理它作爲正常