2016-10-09 89 views
1

我想用Mathematica導入很多大文件來執行NonlinearModelFit。所以,我使用導入功能,因爲它如下所述:用Mathematica導入大文件

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

問題是,這一步是非常..很..慢。 你有什麼想法來改進這部分? 預先感謝您。

回答

0

使用

ReadList[#, String]&/@files 

ReadList[#, Record]&/@files 

繼OP的評論,有訪問一列,例如各種方式。

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

然後或許使用ToExpression將字符串轉換爲數字值。

+0

好的。 @Chris Degnen謝謝你的回答。它是..很多..更快!但是,我怎樣才能使用特定的列?我的意思是我想要使用NonlinearModelFit和特定列的數據。你能幫我解決這個問題嗎? –