重命名有限元文件,提取关键词所在行,然后转数字格式
重命名有限元文件,提取关键词所在行
import shutil import csv oldname = 'static_linear.bdf' keywords = ['GRID', 'CQUAD4','SPC,','FORCE,'] newname=oldname[0:len(oldname)-4]+'.csv' filename=oldname[0:len(oldname)-4]+'_GRID'+'.csv' shutil.copy(oldname,newname) with open(newname,'r') as f: lines = f.readlines() for keyword in keywords: i = 0 for line in lines: i += 1 if keyword in line: print(line, end="") # 本身已经有个换行符 with open(filename,'a') as f_n: f_n.write(line)
然后转数字格式
import csv filename='static_linear_GRID.csv' f_n_g='s_l_g.csv' csv_reader = csv.reader(open(filename, encoding='utf-8')) for row in csv_reader: a=(row[0]).strip().ljust(8) for i in range(len(row)-1): a=a+row[i+1].strip().rjust(8) print(a) a=a+'\n' with open(f_n_g,'a') as f_n: f_n.write(a)
两个功能,合二为一
import shutil import csv oldname = 'static_linear.bdf' keywords = ['GRID', 'CQUAD4','SPC,','FORCE,'] newname=oldname[0:len(oldname)-4]+'.csv' filename=oldname[0:len(oldname)-4]+'_GRID'+'.csv' clipname='GRID_ELEM.csv' shutil.copy(oldname,newname) with open(newname,'r') as f: lines = f.readlines() for keyword in keywords: i = 0 for line in lines: i += 1 if keyword in line: print(line, end="") # 本身已经有个换行符 with open(filename,'a') as f_n: f_n.write(line) csv_reader = csv.reader(open(filename, encoding='utf-8')) for row in csv_reader: a=(row[0]).strip().ljust(8) for i in range(len(row)-1): a=a+row[i+1].strip().rjust(8) print(a) a=a+'\n' with open(clipname,'a') as f_n: f_n.write(a)
浙公网安备 33010602011771号