打开窗口选择文件,获取文件路径
utils.SelectOpenFileutils.SelectOpenFile(flag, filters) flag:为 0 时代表打开单个文件,为 1 时代表打开多个文件filters:文件类型File = utils.SelectOpenFile(0,'Excel file(*.xlsx)', 'Excel file(*.xls)')utils.XlsxOpenutils.XlsxOpen(filename)Table = utils.XlsxOpen('/home/user/mysheet.xlsx')获取表格数据:
utils.XlsxGetCellValueutils.XlsxGetCellValue(file, sheet, row, column) file:XlsxCreate或XlsxOpen创建的索引(变量,句柄)Value = utils.XlsxGetCellValue(Table,'Sheet1',0,0) 获取表格的行列数:
utils.XlsxSetCellValueutils.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()免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删