這是相當笨重,在每次讀取每個值之一,但它在M-天然一次閱讀完所有這些,然後再處理每一個。
這裏有一個簡單的基礎設施我用所有的時間:
(* step one: get data *)
data = Import["ideone_fM0rs.txt", "Lines"];
(* step two: ??? *)
res = {};
Module[{value, result},
value = #;
result = yourCodeHere[value];
AppendTo[res, result];
]& /@ data;
(* step three: PROFIT! *)
Export["out.txt", res, "Lines"];
但見AppendTo喬恩·麥克龍VS母豬/粒大數據集:http://blog.wolfram.com/2011/12/07/10-tips-for-writing-fast-mathematica-code。
下面是與母豬的變化/粒的時候,你想收集下的各種標籤或類別或種種質或任何值:
data = Import["ideone_fM0rs.txt", "Lines"];
res = Reap[Module[{value, result, tag},
value = #;
result = yourCodeHere[value];
tag = generateTag[value]
Sow[result, tag];
]& /@ data, _, Rule][[2]];
Export["out.txt", res, "Lines"];
人們很容易滾所有成一個單一的awe-鼓舞人心的單線程,但爲了可維護性,我喜歡在每一步明確的時候保持它的展開。
當然,yourCodeHere [value]可以代替許多註釋良好的代碼。
注:我下載您的數據,使用的下載鏈接本地文件ideone_fM0rs.txt
在http://ideone.com/fM0rs
發佈「Test.in」 – 2011-03-13 01:21:45