1

破損した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];

しかし、そうするのに数時間以上かかります!!! 時間を無駄にすることなくこれを行う方法を知っていますか?

4

1 に答える 1

1

次のことを試すことができます。

(* 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]]、最初の列を取得します。

于 2012-05-10T21:39:14.180 に答える