В настоящее время я борюсь с небольшим фрагментом, который должен экранировать большой файл и записывать только определенные данные, удовлетворяющие определенным ограничениям, предоставляемым функцией.У меня в основном проблемы с форматированием:
from __future__ import print_function
import numpy as np
log = open("out_test", "w")
log1 = open("out_test_empty", "w")
def function(kx,ky,ek,sz,ef,tol):
lines = []
if ((ef-tol)<ek<(ef+tol)):
lines.append((kx,ky,sz))
# (lines.append((kx,ky,sz)) if (kx,ky,sz) is not None else None)
return lines
arr = []
with open('test10') as my_file:
for line in my_file:
##numbers_float=map(float, line.split())
arr.append(map(float, line.split()))
print(function(arr[-1][0],arr[-1][1],arr[-1][2],arr[-1][3],-0.5462,0.001), file = log)
# print(', '.join(str(d) for d in function(arr[-1][0],arr[-1][1],arr[-1][2],arr[-1][3],-0.5462,0.001)), file = log)
# str_list = (', '.join(str(d) for d in function(arr[-1][0],arr[-1][1],arr[-1][2],arr[-1][3],-0.7,0.001)))
# str_list = filter(None, str_list)
# print(str_list, file =log)
#print(arr[:][:])
#import fileinput
#for line in fileinput.FileInput("test",inplace=1):
# if line.rstrip():
# print(line, file=log1)
Файл тестовых данных (будет около 10 ^ 7 строк):
0.11361097E+01 0.19677992E+01 -0.54626220E+00 -0.87053581E+00
0.11361097E+01 0.19677992E+01 -0.54626220E+00 0.87053581E+00
0.11361097E+01 0.19677992E+01 0.22336976E+01 0.90485914E+00
0.11361097E+01 0.19677992E+01 0.22336976E+01 -0.90485916E+00
0.11361097E+01 0.19677992E+01 0.23120941E+01 -0.42934308E+00
0.11361097E+01 0.19677992E+01 0.23120941E+01 0.42934308E+00
0.11361097E+01 0.19677992E+01 0.24740033E+01 -0.98827766E+00
0.11361097E+01 0.19677992E+01 0.24740033E+01 0.98827766E+00
0.11361097E+01 0.19677992E+01 0.24777489E+01 -0.52602145E+00
0.11361097E+01 0.19677992E+01 0.24777489E+01 0.52602145E+00
Что я хочу выводить в файле:
1.1361097 1.9677992 -0.87053581
1.1361097 1.9677992 0.87053581
Пока я получаю:
[(1.1361097, 1.9677992, -0.87053581)]
[(1.1361097, 1.9677992, 0.87053581)]
[]
[]
[]
[]
[]
[]
[]
[]
Итак, мои вопросы:
- Как избавиться от добавленных пустых списков -> []?
- Как мне избавиться от скобок и скобок?
Я знаю, что эти вопросы часто задавали, и я пытался решить их, но я не могу решить их.В закомментированных частях вы видите то, что я уже попробовал ...