打开窗口选择文件,获取文件路径
utils.SelectOpenFile
utils.SelectOpenFile(flag, filters)
flag
:为 0 时代表打开单个文件,为 1 时代表打开多个文件filters
:文件类型File = utils.SelectOpenFile(0,'Excel file(*.xlsx)', 'Excel file(*.xls)')
utils.XlsxOpen
utils.XlsxOpen(filename)
Table = utils.XlsxOpen('/home/user/mysheet.xlsx')
获取表格数据:
utils.XlsxGetCellValue
utils.XlsxGetCellValue(file, sheet, row, column)
file
:XlsxCreate
或XlsxOpen
创建的索引(变量,句柄)Value = utils.XlsxGetCellValue(Table,'Sheet1',0,0)
获取表格的行列数:
utils.XlsxSetCellValue
utils.XlsxSetCellValue(file, sheet, row, column, value)
utils.XlsxSetCellValue(Table,'Sheet2', 2,1, '0')
XlsxSave
使用:utils.XlsxSave(Table)
假设有以下Excel数据,储存不同ID节点的坐标信息,根据数据在ANSA中画出节点。
ID | X | Y | Z |
---|---|---|---|
1001 | 10 | 12 | 32 |
1002 | 12 | 11 | 34 |
... | ... | ... | ... |
import ansa
from ansa import *
def main():
File = utils.SelectOpenFile(0, 'Excel file(*.xlsx)', 'Excel file(*.xls)')
Table = utils.XlsxOpen(File[0])
Value = utils.XlsxGetCellValue(Table, 'Sheet1', 1, 1)
line_Max = utils.XlsxMaxSheetCell(Table, 'Sheet1')
for i in range(1, line_Max[0] + 1):
Nodes = []
for j in range(line_Max[1] + 1):
Value = utils.XlsxGetCellValue(Table, 'Sheet1', i, j)
Nodes.append(Value)
print(Nodes)
base.CreateEntity(constants.LSDYNA, 'NODE',{'NID': Nodes[0], 'X': float(Nodes[1]), 'Y': float(Nodes[2]), 'Z': float(Nodes[3])})
if __name__ == '__main__':
main()
import ansa
from ansa import *
def main():
File = utils.SelectOpenFile(0,'Excel file(*.xlsx)', 'Excel file(*.xls)')
Table = utils.XlsxOpen(File[0])
Nodes = base.CollectEntities(constants.LSDYNA, None, 'NODE')
for i in range(len(Nodes)):
X = base.GetEntityCardValues(constants.LSDYNA, Nodes[i], ('X'))['X']
utils.XlsxSetCellValue(Table, 'Sheet1', i+1, 6, str(X))
utils.XlsxSave(Table)
if __name__ == '__main__':
main()
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删