2011-08-27 36 views
1

我有一個CSV文件Nifty_PE:問題導入CSV文件:在數學ABC.csv文件8

01-Dec-2008,  11.76, 
02-Dec-2008,  11.65, 
03-Dec-2008,  11.64, 
04-Dec-2008,  12.22, 
05-Dec-2008,  11.90, 
08-Dec-2008,  12.20, 
10-Dec-2008,  12.84, 
11-Dec-2008,  12.80, 
12-Dec-2008,  12.81, 
15-Dec-2008,  13.07, 
16-Dec-2008,  13.33, 

當我給下面的數學CMD:

Take[Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"], 5] 

我得到的輸出:

{{"01-Dec-2008", 11.76, ""}, {"02-Dec-2008", 11.65, 
    ""}, {"03-Dec-2008", 11.64, ""}, {"04-Dec-2008", 12.22, 
    ""}, {"05-Dec-2008", 11.9, ""}} 

什麼,我希望得到的是:

{{"01-Dec-2008", 11.76}, {"02-Dec-2008",........... 

請幫助我,我應該做的,以獲得所需的輸出..

回答

3

試試這個:

Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"][[1;;5, 1;;2]] 

[[1;;5, 1;;2]]只索引返回數組的一部分。 1;;5表示第1行至第5行。1;;2表示第1列和第2列 - 忽略空的第三列。如果您想保留所有行而不是前五個行,請使用[[All, 1;;2]]

所有這些都記錄在功能Part下。

3

或者,你可以不喜歡

Take[Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"], 5, 2] 

其將採取前5行導入的表中的第2列。

0

或者* 2,如果您不知道(或不想預先檢查)矩陣的所需尺寸,則可以使用替換規則。

Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"] /. "" -> Sequence[] 

或者,如果您擔心有可能也有空白的地方比在行的末尾其他,而您只需要在該行的結束消除的:

Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"] /. {a__,""} -> {a} 
+0

這可能會有很多非預期的副作用,可能會非常煩人。 「」的位置可以分佈在許多不同的列中,在一些行中但不是其他列中。這可能會導致一團糟。 – Davorak

+0

@Davorak原則上是,但具體問題是CSV確實傾向於在行的末尾添加一個空白列。我會在我的答案中添加一個更具體的替換規則,這將更安全。 – Verbeia