马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zltzlt 于 2020-2-2 22:34 编辑
代码如下:# -*- coding: mbcs -*-
# Do not delete the following import lines
from abaqus import *
from abaqusConstants import *
import __main__
import section
import regionToolset
import displayGroupMdbToolset as dgm
import part
import material
import assembly
import step
import interaction
import load
import mesh
import optimization
import job
import sketch
import visualization
import xyPlot
import displayGroupOdbToolset as dgo
import os
import sys
import openpyxl
# 建立一个excel文档,并命名第一个工作簿
# 开始遍历文档,找odb文件
wb = openpyxl.Workbook()
ws = wb.active
# 命名第一个文件簿的表头
a = ws.cell('A1')
a.value = 'name'
a = ws.cell('A2')
a.value = 'max_F'
row = 0
column = 1
column_store = column
# 以odb名字所在的表格为每一次复制的基准点,存储其位置,以每一次循环复位
for root, dirs, files in os.walk(os.curdir):
for name in files:
(file_name, file_backname) = os.path.splitext(name)
if file_backname == '.odb':
cell_filename = ws.cell(row=row, column=column)
cell_filename.value = file_name
cell_RF3 = cell_filename.offset(0, 1)
filename = (os.path.join(root, name))
# filename = 'D:/SIMULIA/Temp/get_output_experiment/30-0.odb'
session.mdbData.summary()
# 打开符合要求的,即在文件夹内,且后缀为'.odb'的文件
o1 = session.openOdb(name=filename)
session.viewports['Viewport: 1'].setValues(displayedObject=o1)
odb = session.odbs[filename]
# 取得所需要的RF3数据,以元素是元组的列表体现
list1 = session.xyDataListFromField(odb=odb, outputPosition=NODAL, variable=(
('RF', NODAL, ((COMPONENT, 'RF3'), )), ), nodeSets=('LOAD1', ))
for each in list1:
for i in each:
a = ws.cell(row=row + 2, column=column)
a.value = i[0]
b = ws.cell(row=row + 2, column=column + 1)
b.value = i[1]
row += 1
cell_max = cell_filename.offset(1, 1)
alpha_to_number = openpyxl.cell.get_column_letter(column + 2)
cell_max.value = '=max(%s:%s)' % (
alpha_to_number + str(3), alpha_to_number + str(200))
wb.save('C:\\Users\\DELL\\Desktop\\aaa.xlsx')
session.odbs[filename].close()
# 对基准点进行复位
column_store += 2
column = column_store
row = 0
这是用于将有限元软件abaqus的数据导出到excel的代码,python版本是2.7.3,运行时报错如图所示,意思是37行的缩进出现了问题,
for root, dirs, files in os.walk(os.curdir):
for name in files:
(file_name, file_backname) = os.path.splitext(name)
我检查了一下,缩进应该是没有问题的,看网上说可能是因为tab键和空格键缩进的问题,打开notepad++查看,
,也没有出现混用的问题,特向大家求助,希望大家能提出意见! |