不知道在Mathematica中是否存在處理大型文件的方法? 目前我有一個約500Mb的表格數據文件。在Wolfram Mathematica中處理大型數據文件的方式
Import["data.txt","Table"];
什麼是替代方式?
不知道在Mathematica中是否存在處理大型文件的方法? 目前我有一個約500Mb的表格數據文件。在Wolfram Mathematica中處理大型數據文件的方式
Import["data.txt","Table"];
什麼是替代方式?
使用OpenRead["file"]
它給你一個InputStream
對象,您可以使用Read[stream]
。根據數據文件的格式,您可能需要在Read[]
中爲RecordSeparators
設置自定義選項值。
例子:
In[1]:= str = OpenRead["ExampleData/USConstitution.txt"]
Out[1]= InputStream["ExampleData/USConstitution.txt", 24]
In[2]:= Read[str, Word]
Out[2]= "We"
In[3]:= Read[str, Word]
Out[3]= "the"
In[4]:= Read[str, Record]
Out[4]= "People of the United States, in Order to form a more perfect Union,"
功能的數據庫(例如MySQL的)和訪問它從數學DumpSave
也可以保存大數據集的幫助。它以Mathematica的內部格式保存數據,因此在時間和文件大小方面效率更高。
這是怎麼回事? – kennytm 2010-03-03 12:35:45
加載大文件需要太多時間。我也想太多的記憶。 – 2010-03-03 13:08:11
在這裏再次提出類似的問題:http://stackoverflow.com/questions/7525782/import-big-files-arrays-with-mathematica。我爲密集和稀疏表提供了兩種解決方案,那些來到這個頁面的人可能會覺得有用。它們仍然非常慢,但比'Import'更有記憶效率。 – 2011-09-25 19:02:34