ret = {};
For[i = 1, i <= Length@x, i++,
AppendTo[ret, {idNum = x[[i, 1]] , a = x[[i, 2]], b = x[[i, 3]],
c = x[[i, 4]], d = x[[i, 5]], e = x[[i, 6]], f = x[[i, 7]],
g = DateDifference[{d, e, f}, {currYear, currMonth, currDay}],
If[g > 90, Y, N]}];];
Print@ret
如何将列表输出到没有括号和大括号的文本文件中,每行后也需要换行。
答案 0 :(得分:2)
您需要使用命令Export
,例如以逗号分隔的值保存nxn数组使用类似的内容:
data = RandomInteger[{0, 256}, {50, 50}]
Export[NotebookDirectory[] <> "data.csv", data, "CSV"]
内置格式在$ExportFormats
答案 1 :(得分:2)
我喜欢使用Export["ret.m", ret, "Lines"]
在输出文件ret.m
中每行输入一个条目。 YMMV取决于您导出的东西的结构。
答案 2 :(得分:1)
就像一个小伙伴:
在Mathematica中编程的常用方法是功能性的,而不是程序性的。
变量仅在您需要检查某些内容时定义,或者保留结果以供将来工作。此外,不鼓励循环。
您的程序的等效形式(只是快速草稿),在这些行中可能类似于:
x = {{1, a1, b1, c1, 2010, 11, 12},
{1, a2, b2, c2, 2011, 12, 13}};
Export["c:\data.csv", #, "CSV"] &
[Flatten[
{#[[1 ;; 7]],
{#, If[# > 90, "Y", "N"]} &@
DateDifference[#[[5 ;; 7]], DateList[][[1 ;; 3]]]}
] & /@ x]