我正在以CSV格式将表“mydata1”中的数据导出到“file1.dat”中。下面是mathematica代码:

mydata1=TableForm[Flatten[
Table[Table[Table[
                 {xcord, ycord, zcord}, {xcord, 0,50,10}],
                   {ycord,0,50,10}], {zcord, 50, 100, 10}], 2]];

Export["file1.dat",mydata1,"CSV"]

现在,我的“file1.dat”看起来像这样:
0,0,50
10,0,50
20,0,50
..
.. and so on

现在,我从表“mydata2”中获取了另一组数据(下面给出代码)。我希望能够将表“mydata2”中的数据存储到同一文件“file1.dat”中。但是在此之前,我需要在文件“file1.dat”中写一个文本,例如“下面的数据来自mydata2”。

请注意,两个表中的两个数据都需要以CSV格式导出。
mycounter=20
mydata2=TableForm[Flatten[
Table[Table[Table[
                 {++mycounter,xcord, ycord, zcord}, {xcord, 0,50,10}],
                   {ycord,0,50,10}], {zcord, 50, 100, 10}], 2]];

最后,我的数据文件“file1.dat”应该看起来像这样
*Data from data from mydata1
0,0,50
10,0,50
20,0,50
... and so on
*Below data from mydata2
21,0,0,50
22,10,0,50
23,20,0,50
... and so on.

如果观察到最终数据文件“file1.dat”,则应将表“mydata2”中的数据放在“mydata1”中的数据下方,并在其中写入一些文本。

注意:我愿意导出扩展名为TXT但以CSV格式的数据,例如:
Export["file1.txt", mydata1, "CSV"]

我已经使用了“PutAppend”,但是它并没有给我想要的结果。要么我没有正确使用它,要么它不是解决此类问题的关键词。

关于导出,我有很多问题,但由于不想将所有人混淆,我现在不问所有这些问题。

最佳答案

也许像这样:

mydata1 =
  Flatten[Table[Table[Table[
          {xcord, ycord, zcord},
          {xcord, 0, 20, 10}], {ycord, 0, 20, 10}], {zcord, 50, 50, 10}], 2];
mycounter = 20
mydata2 =
  Flatten[Table[Table[Table[
          {++mycounter, xcord, ycord, zcord},
          {xcord, 0, 20, 10}], {ycord, 0, 20, 10}], {zcord, 50, 50, 10}], 2];

Export["c:\\test.txt",
      Join[{"* data1 follows"}, mydata1, {"* data2 follows"}, mydata2], "CSV"]

结果文件为:
* data1 follows
0,0,50
10,0,50
20,0,50
0,10,50
10,10,50
20,10,50
0,20,50
10,20,50
20,20,50
* data2 follows
21,0,0,50
22,10,0,50
23,20,0,50
24,0,10,50
25,10,10,50
26,20,10,50
27,0,20,50
28,10,20,50
29,20,20,50

09-25 18:08
查看更多