2016-10-09 19 views
1

Ich möchte viele große Dateien mit Mathematica importieren, um danach NonlinearModelFit durchzuführen. Also habe ich die Importfunktion wie unten beschrieben benutzt:Importieren Sie große Dateien mit Mathematica

files = FileNames["*.dat"]; 
data = Parallelize[Import[#, "Table"] & /@ files] 

Das Problem ist, dass dieser Schritt sehr ... sehr langsam ist. Haben Sie Ideen, diesen Teil zu verbessern? Vielen Dank im Voraus.

Antwort

0

Verwenden

ReadList[#, String]&/@files 

oder

ReadList[#, Record]&/@files 

Im Anschluss an die Bemerkung des OP, gibt es verschiedene Möglichkeiten, um eine Spalte zuzugreifen, zum Beispiel.

dataAsStrings = ReadList[#, String]&/@files; 
flatterData = Flatten[dataAsStrings, 1]; 
splitData = StringSplit[#] & /@ flatterData; 
column2 = splitData[[All, 2]]; 

vielleicht Dann ToExpression verwenden Strings in numerische Werte zu konvertieren.

+0

Ok. @Chris Degnen Vielen Dank für Ihre Antwort. Es ist viel .. viel .. schneller !!! Aber wie kann ich eine bestimmte Spalte verwenden? Ich meine, ich möchte NonlinearModelFit mit Daten einer bestimmten Spalte verwenden. Kannst du mir bei diesem Punkt helfen? –

Verwandte Themen