我有一个csv文件Nifty_PE:
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,
当我在mathematica中给出以下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",...........
请帮助我如何获得所需的输出..
答案 0 :(得分: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下。
答案 1 :(得分:3)
或者,您可以执行类似
的操作Take[Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"], 5, 2]
将占用导入表的前5行的前2列。
答案 2 :(得分:0)
或者* 2,如果您不知道(或者不希望提前检查)矩阵的所需尺寸,您可以使用替换规则。
Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"] /. "" -> Sequence[]
或者如果您担心除了行尾之外的其他地方可能还有空白,而您只想消除行尾的那些空白:
Import["C:\\Users\\ROHAN\Desktop\\NIFTY_PE.csv", "CSV"] /. {a__,""} -> {a}