|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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++查看,
,也没有出现混用的问题,特向大家求助,希望大家能提出意见! |
-
|