这次推送聚焦于解决采用Python向Abaqus里导入txt、dat数据的问题(dat文件只需要将txt文件的后缀名改为dat就可以生成dat文件),Abaqus基于Python读入txt、dat数据主要有read()、readlines()、readlines()、numpy.loadtxt()函数,导入的txt文件放在工作目录temp中。

1. read() 函数

可以一次性读取txt文件中的内容,并以字符串的结果返回来,如下列代码所示:

with open("xyplot.dat", "r") as f:    #打开文件data = f.read()   #读取文件print(data)

其中,

  • r是读取人工书写的数据,书写的时候是什么样子,读出来就是什么样。

  • rb是读取二进制文件,非人工书写的数据,如.jpeg等这些。

将该命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)运行后,结果如图1所示(图中#注释后的乱码为作者安装abaqus采用英文版,没有汉化所致):

图1 read()读取txt、dat数据到Abaqus

需要注意的是,以上data数据类型都是为字符,如下图所示。调用data[0]为字符,因此data[0][0]也为字符,以及后续的data[20][0],data[60][0]等也都为字符。

2. readline()函数

readline()函数只读取txt、dat文本第一行的内容,并以字符串的形式返回结果,其代码如下所示

with open("xyplot.dat", "r") as f:      # 打开文件data = f.readline()                            # 读取文件print(data)

将该命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)运行上述代码后的显示结果为图2,很明显只读进去了第一行的内容。

图2 readline()读入txt、dat文件到Abaqus

3. readlines()

readlines函数能读取txt、dat文本的所有内容,以数列的格式返回结果,并且配合for in使用,其代码如下所示:

with open("xyplot.dat", "r") as f:for line in f.readlines():line = line.strip('\n')  #去掉列表中每一个元素的换行符print(line)

将该命令在Abaqus/CAE的命令行接口(Command Line Interface, CLI)运行上述代码后的显示结果为图3。读取data[0]、data[1]、data[1][1]、data[1][0]、data[1][2]、data[1][4]、data[1][0:4]的结果见图3,大家可以看到其中的规律,特别是上述读取的都是字符,如果想要得到数据类型,特别是有利于后面的循环读取,需要将字符类型转化为数据类型,这里采用float(data[1][0])将字符转化为数据类型。

图3 readlines()读入txt、dat文件到Abaqus

读写txt文件时需要选择r、w、rb、wb等的模式,其释义如图4所示:

图4 Python读写txt、dat数据到Abaqus的模式解释

4.numpy.loadtxt()

Abaqus里已经自带安装了numpy,无需要像python需要额外安装numpy。

import numpy as np
b=np.loadtxt('coordinates.txt',delimiter = ',',dtype=np.float32)
print(b)
  • 第一行代码主要为将numpy简化等效为np,为了后续方便,比如np.loadtxt可直接等效为numpy.loadtxt,但长度是一样的。

  • 第二行代码读入coordinates.txt(图5),delimiter指定读取文件中数据的分割符,在这里为逗号,;而后面dtype为指定读取后数据的数据类型为float32类型。需获取该txt文件,可在公众号里回复:coordinates.txt

  • 第三行代码在Abaqus里显示b的内容如图6所示,导入进去的b为一个array,其中忽略了逗号。在Abaqus里进行调用b的结果如图7所示。注意到,b[0]为array中的第一行,b[1]为array中的第二行,b[0][0]为array中的第一行中的第一个元素,b[0][1]为array中的第一行中的第2个元素,b[1][0]为array中的第2行中的第一个元素,b[1][1]为array中的第2行中的第2个元素

图5 coordinates.txt的内容

图6 Abaqus显示读取coordinates.txt的内容

图7 Abaqus里调用coordinates.txt的内容

说明:
  • 以上Python命令流既可以在Abaqus的命令行接口(Command Line Interface, CLI)直接运行,也可以通过在Abaqus/CAE的File菜单下,选择Run Script...运行以上命令流保存的py脚本,两种运行方式的运行结果完全相同。

以上即为本次推文的主要内容,如果想更深入的了解Python在abaqus中的应用,欢迎学习以下课程。

ABAQUS Python二次开发工程实例教程https://www.jishulink.com/college/video/c16214

最后,有abaqus二次开发相关需求,欢迎通过微信公众号联系我们。

基于Python向Abaqus导入txt、dat数据(附abaqus中python二次开发课程)相关推荐

  1. python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...

    实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...

  2. python怎么读取txt文件数据保存数组中-Python Numpy中数据的常用的保存与读取方法...

    在经常性读取大量的数值文件时(比如深度学习训练数据),可以考虑现将数据存储为Numpy格式,然后直接使用Numpy去读取,速度相比为转化前快很多. 下面就常用的保存数据到二进制文件和保存数据到文本文件 ...

  3. 导入 txt 文件数据到 MySQL 表

    导入 txt 文件数据到 MySQL 表 需求:导入数据到 MySQL 表中 操作: 新建一个 .txt 文件 新建一个表 右击表选择导入向导 选择导入类型为文本文件(*.txt) 选择创建的 .tx ...

  4. txt文本文件数据转ArcGIS中的tif文件

    txt 文本文件数据转 ArcGIS 中的 tif 文件 txt文件容易读写,但可视性不好: tif文件在ArcGIS上显示具有独特优势,但打开属性表是多有不变 以广东省某蒸散发数据为依据,将网格对应 ...

  5. java操作mysql导表_Java实现批量导入excel表格数据到数据库中的方法

    本文实例讲述了Java实现批量导入excel表格数据到数据库中的方法.分享给大家供大家参考,具体如下: 1.创建导入抽象类 package com.gcloud.common.excel; impor ...

  6. AE+ArcGIS二次开发课程设计(基于C#)

    AE+ArcGIS二次开发课程设计(基于C#) 1.工作内容 2.程序功能介绍 3.功能模块介绍 3.1 实现[创建TIN]说明 3.1.1 功能说明 3.1.2 代码实现(包含了所有主要的代码,库引 ...

  7. 关于python使用pandas导入dat数据文件的方法(可导入任意dat数据文件和csv数据文件)

    我相信大家在学习python中会遇到一些很苦恼的数据导入问题,csdn上面的数据导入五花八门,大多是在特定条件实行的数据导入,我在学习机器学习分类算法实现中发现csdn上面有很多dat数据文件,所以想 ...

  8. python导入excel数据-Python数据处理之导入导出excel数据

    欢迎点击上方"AntDream"关注我 .Python的一大应用就是数据分析了,而数据分析中,经常碰到需要处理Excel数据的情况.这里做一个Python处理Excel数据的总结, ...

  9. python如何读dat数据_如何用Python进行数据质量分析

    概述 数据挖掘的第一步工作是数据准备,而数据准备的第一步就是数据质量分析了.本篇文章着重介绍如何使用Python进行数据质量分析的初步工作,属于比较基础的入门教程. 为什么要进行数据质量分析 根据百度 ...

  10. mysql 通过load data local infile导入txt文件数据

    如果一次性需要插入大批量数据,使用insert语句插入性能较低 可以使用MySQL数据库提供的load 指令进行数据插入: # 执行load指令将准备好的数据,加载到表结构中 load data lo ...

最新文章

  1. 修改hosts文件不需要重启的方法
  2. 科大星云诗社动态20210524
  3. Spring ClassPathXmlApplicationContext
  4. 解决:pip警告!DEPRECATION: The default format will switch to columns in the future.
  5. android在特定时间,如何在Android Oreo的特定时间在Android上发出通知?
  6. ubuntu系统设置开机自启动
  7. python中的 生产者和消费者
  8. gz 解压 linux_Linux-Ubuntu常用命令-03-压缩解压
  9. EFK+sentinl报警机制
  10. c语言杀我,ballball各位大佬救救我吧
  11. 看到它,让我想起了帅出天际的精灵王子……
  12. 如何解决租房烦恼? 阿里工程师写了一套神奇的代码
  13. Linux 中的TAB键名字补全使用方法
  14. Ubuntu之必装软件
  15. 遗传编程(Genetic Programming, GP)
  16. python sslerror_python中的ssl错误是什么意思?
  17. 土耳其语翻译,本地化土耳其语翻译
  18. 电影美丽人生影评:一念相伴
  19. 分布式中间件之消息中间件
  20. EC20调试过程备份

热门文章

  1. 操作系统概念 学习笔记
  2. windows7 nmap 命令行版本
  3. 106个计算机学部毕业设计项目大全(附源码)
  4. ios 设置字体家族
  5. win10计算器计算反三角函数
  6. SpringBoot(尚硅谷)
  7. linux如何导入种子文件格式,Linux下磁力链接种子文件下载
  8. OpenCV教程(C++)
  9. 数据分析师人才需求的分析报告
  10. 2017年广东省乡级行政区划数据介绍