2011-08-27 80 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