I have a text file with a long list of numbers. I would like to choose only the non-zeros and make another text file.
This is a portion of the input file:
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 5.16677E-30
9.61708E-28 1.18779E-25 9.73432E-24 5.29352E-22 1.91009E-20 4.57336E-19
7.26588E-18 7.65971E-17 5.35806E-16 2.48699E-15 7.65973E-15 1.56539E-14
2.12278E-14 1.91010E-14 1.14046E-14 4.51832E-15 1.18780E-15 2.07196E-16
2.39824E-17 1.84193E-18 9.38698E-20 3.17431E-21 7.12271E-23 1.06050E-24
1.04773E-26 6.86848E-29 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
0.00000E+00 0.00000E+00 0.00000E+00 0.00000E+00
The expected out put for the portion of the input show above would be:
5.16677E-30 9.61708E-28 1.18779E-25 9.73432E-24 5.29352E-22 1.91009E-20
4.57336E-19 7.26588E-18 7.65971E-17 5.35806E-16 2.48699E-15 7.65973E-15
1.56539E-14 2.12278E-14 1.91010E-14 1.14046E-14 4.51832E-15 1.18780E-15
2.07196E-16 2.39824E-17 1.84193E-18 9.38698E-20 3.17431E-21 7.12271E-23
1.06050E-24 1.04773E-26
I tried what I wrote below but it is not returning anything.
r1=[]
file = open ('aa2','w')
with open('aa.txt') as m:
file.write('List')
file.write("
")
for t in itertools.islice(m,500,6500):
for i in t:
if i != 0.00000E+00 :
d = i
k = re.search(r'([- ]d+.d+)+' , d)
if k:
r1.append(k.group())
file.write(str(' '.join(map(str,r1))))
file.close()
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…