用逗号从Mathematica导出数据

时间:2011-09-09 17:21:12

标签: wolfram-mathematica export

我将以这种方式将数据从mathematica导出到具有“dat”扩展名的文件。

numbercount=0;
exporttable =
   TableForm[
    Flatten[
     Table[
      Table[
       Table[{++numbercount, xcord, ycord, zcord}, {xcord, 0, 100, 5}], 
      {ycord, 0, 100, 5}], 
     {zcord,10, 100, 10}],
    2]];
Export["mydata.dat", exporttable]

现在发生的是“mydata.dat”文件输出如下所示

1  0   0   10
2  5   0   10
3  10  0   10  and so on

但我希望数据在“mydata.dat”文件中显示如下。

1, 0,  0,  10
2, 5,  0,  10
3, 10, 0,  10  and so on

如果你是观察者,我想在每个第一,第二和第三个数字之后使用逗号,但不要在每行的第四个数字之后。

我尝试过这段代码,它在数字之间插入逗号但由于我需要输出大量数据,因此需要很长时间才能运行。我也觉得有人可能会想出更好的解决方案。

numbercount=0;
exporttable =Flatten[
              Table[
               Table[
                Table[{++numbercount, xcord, ycord, zcord}, {xcord, 0, 100, 5}], 
               {ycord, 0, 100, 5}], 
              {zcord,10, 100, 10}], 
             2];
x = TableForm[Insert[
              exporttable[[i]], ",", {{2}, {3}, {4}}], {i, 1, Length[exporttable]}];
Export["mydata.dat", x]

2 个答案:

答案 0 :(得分:9)

您是否尝试将其导出为CSV文件? Export的第三个参数是文件类型,因此您需要键入

Export["mydata.dat", x, "CSV"]

要添加到此,Mathematica中的可用格式为categorical listalphabetical list

答案 1 :(得分:2)

另外请注意,您只能使用一个Table命令构建列表,而没有明确的索引变量

exporttable1 =  MapIndexed[Join[#2, #1] &, 
                                Flatten[Table[{xcord, ycord, zcord}, 
                                                {zcord, 10, 100, 10}, 
                                                {ycord, 0, 100, 5}, 
                                                {xcord, 0, 100, 5}], 2]]

exporttable1 == exporttable
(*
-> True
*)