利用python进行读取文本非常方便,并且可以有效快速地提取相应的信息。在工作中,把遇到的一些问题及解决方案总结下来,分享给大家。
一,如何读取一个文本中的特定某些行
比如想要读取一个文件中的从3310到4560的行,可以使用islice的命令去切片。注意实际上读取的是3311到4560的行。
from itertools import islice filename="D:/abaqusWork/stiffened_buckl.inp" new_dir="D:/abaqusWork/elements2.txt" new = open(new_dir, "w+") count1=3310 #起始行 count2=4560 #终止行 f = open(filename, "r") for a in islice(f, count1, count2): new.write(a) f.close() new.close()
二,对某些行的数据按特定规则进行分割
比如网格节点需要去分割,见下图:
可以利用正则表达式去分割,将一些行直接变换为矩阵。
import re #导入正则函数 filename2="D:/abaqusWork/nodes.txt" with open(filename2, "r") as f: # 打开文件, "r"不行,所以加了rb,也可以用下句 data = f.read() #