2022年 11月 8日

关于利用python进行文本读取的技巧

利用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()  #