我要从损坏的CSV文件导入数据。它包含科学数字,它是一个大约有300000行27列的大数据集。当我使用导入它时,
Import["data.csv","HeaderLines"->1]数据格式为字符串。所以我把它改成了数据表的格式
StringSplit[ToString[data[[#]]], ";"] & /@
Range[Dimensions[
Import["data.csv"]][[1]]]我需要使用第一列来分析数据。但问题是这一行是字符串类型的科学数字!!我想把它改成数字。我使用了这个命令:
ToExpression[Internal`StringToDouble[fdata[[All, 1]][[#]]]] & /@
Range[291407];但这样做需要超过几个小时!你知道我怎样才能做到这一点而不浪费时间吗?
发布于 2012-05-11 05:39:14
您可以尝试执行以下操作:
(* read the first 5 rows *)
d = ReadList["data.csv", Table[Number, {27}], 5]
(* read the rows 100 to 150 *)
s = OpenRead["data.csv"];
Skip[s, Record, 99]
d = ReadList[s, Table[Number, {27}], 51]
Close[s]d[[All,1]]将为您提供第一列。
https://stackoverflow.com/questions/10538136
复制相似问题