[파이썬 Example #008] Multi-run and editing output
2019. 11. 8. 09:56ㆍ컴퓨터_Com/파이썬 지식_Things to remember
1. 현재 폴더의 모든 inp 파일을 실행 후 output을 cvs 파일로 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
import os
import pandas as pd
import glob
''' MULTIPLE RUNNING SIMULATE '''
all_file_list = os.listdir() # 현재 폴더의 모든 파일 리스트
inp_file_list = [file for file in all_file_list if file.endswith(".inp")]
print("input_file_list: {}".format(inp_file_list))
for inp_file in inp_file_list:
run_sim = ['simulate3 -kw']
run_sim.append(inp_file)
os.system(" ".join(run_sim))
''' EDITING OUTPUT TO CSV FILE'''
all_file_list = os.listdir() # LIST OF ALL FILES IN CURRENT FOLDER
out_file_list = [file for file in all_file_list if file.endswith(".out")] # ALL .INP FILES
print("output_file_list: {}".format(out_file_list))
for out_file in out_file_list:
sum_file = out_file.split(".")[0] + ".dat"
awk_sum = ["awk '/^ P W R S u m m a r y/,/^1S/'"]
awk_sum.append(out_file)
awk_sum.append("|sed '/^ *$/d'|sed 's/\/ /\//g'|grep -v S|awk '{print $1,$3,$4,$6,$8,$13,$15,$17}' >")
awk_sum.append(sum_file)
os.system(" ".join(awk_sum))
'''GREP WORST STUCK KEFF FROM OUTPUT FILE'''
stuck_file = out_file.split(".")[0] + ".N_1"
stuck = [" awk '/ Summary of Individual Control Rod Worths/,/RMS/'"]
stuck.append(out_file)
stuck.append(" |grep '^ 1'|awk '{print $6}' >")
stuck.append(stuck_file)
os.system(" ".join(stuck))
sum_table = pd.read_csv((sum_file), sep=" ", header=None)
sum_table.columns = ['STEP', 'BU', 'K-EFF', 'PPM', 'AO', 'PW', 'Rod Step', 'Tavg']
stuck_table = pd.read_csv(stuck_file, sep=" ", header=None)
stuck_table.columns = ['N-1']
result = pd.concat([sum_table, stuck_table], axis=1)
csv_file = out_file.split(".")[0] + ".csv"
result.to_csv(csv_file, index = True, float_format = '%.5f')
'''MERGE CVS FILE IN LINUX'''
os.system("ls *csv |sort -r |xargs cat > mergefile.csv")
|
cs |
'컴퓨터_Com > 파이썬 지식_Things to remember' 카테고리의 다른 글
[파이썬 Example #007] numpy 다루기 (0) | 2019.10.17 |
---|---|
[파이썬 Example #006] Text 파일 바꾸기 (Replace) (0) | 2019.10.17 |
[파이썬 Example #005] 디렉토리 다루기 (0) | 2019.10.16 |
[PyCharm #002] SciView 열기 (0) | 2019.10.16 |
[파이썬 Example #004] text파일의 특정 단어를 찾아서 새로운 파일에 쓰기 (0) | 2019.09.19 |