如何操作未保存的Excel文件?

时间:2015-07-20 14:52:57

标签: python excel matlab abaqus

我想自动循环:

  1. ABAQUS生成Excel文件;

  2. Matlab利用Excel文件中的数据;

  3. 循环1和2.

  4. 现在我的问题是:在第1步之后,ABAQUS的Excel文件未保存为Book1。我无法使用Matlab命令来保存它。有没有办法不保存这个''Book1''文件,但是使用其中的数据?或者,如果我能找到它的位置,那么我可以使用里面的数据? (我假设Excel总是保存文件,即使用户没有?)

    谢谢!

2 个答案:

答案 0 :(得分:0)

正如agentp所提到的,如果您通过Python脚本运行Abaqus,您可以使用Python创建.txt文件以保存所有相关信息。如果结构良好,.txt文件可以像Excel电子表格一样可读。由于Matlab和Python具有读取和写入文件的内在功能,因此可以轻松完成此通信。

至于Matlab调用Abaqus,你可以使用类似的东西:

system('abaqus cae nogui=YOUR_SCRIPT.py')

答案 1 :(得分:0)

管道到Excel的脚本应该有类似的代码:

 abq_ExcelUtilities.excelUtilities.XYtoExcel(
       xyDataNames='S:Mises PI: PART-1-1 E: 4309 IP: 1', trueName='')

将相同的数据写入报告(.rpt)文件,代码如下所示:

 x0 = session.xyDataObjects['S:Mises PI: PART-1-1 E: 4309 IP: 1']
 session.writeXYReport(fileName='abaqus.rpt', xyData=(x0, ))

现在“滚动你自己”,使用x0对象:x0.data是一个常规的python元组,包含你可以写入文件的实际数据,例如:

 file=open('myfile.csv','w')
 for point in x0.data: file.write('%g,%g\n'%point)
 file.close()

(您可以评论或删除writeXYReport来电)