Я новичок в python (также в программировании) У меня есть большой файл, содержащий повторяющиеся 3 строки с номерами 1 пустую строку и снова ... если я распечатаю файл, он выглядит так:Извлечение и обработка данных из txt-файла
1.93202838
1.81608154
1.50676177
2.35787777
1.51866227
1.19643624
...
Я хочу взять каждые три числа - так что это один вектор, сделать некоторые математические операции с ними и записать их в новый файл и перейти к еще три линии - на другой vector.so здесь мой код (не работает):
import math
inF = open("data.txt", "r+")
outF = open("blabla.txt", "w")
a = []
fin = []
b = []
for line in inF:
a.append(line)
if line.startswith(" \n"):
fin.append(b)
h1 = float(fin[0])
k2 = float(fin[1])
l3 = float(fin[2])
h = h1/(math.sqrt(h1*h1+k1*k1+l1*l1)+1)
k = k1/(math.sqrt(h1*h1+k1*k1+l1*l1)+1)
l = l1/(math.sqrt(h1*h1+k1*k1+l1*l1)+1)
vector = [str(h), str(k), str(l)]
outF.write('\n'.join(vector)
b = a
a = []
inF.close()
outF.close()
print "done!"
Я хочу получить "vecto r "из трех строк в моем файле и поместить его в выходной файл blabla.txt. Большое спасибо!
добро пожаловать в SO! Это место для вопросов и ответов о программировании, другие люди не будут писать ваш код для вас, а скорее помогут вам исправить свои собственные. Лучше, если вы сначала попытаетесь решить это самостоятельно, а затем вернетесь и покажете нам, что вы пробовали! – yuvi
Не могли бы вы определить, что означает «не работает»? Является ли результат не ожидаемым (тогда чего вы ожидаете), или вы получаете какую-либо ошибку? –
он возвращает: «ошибка - недействительный синтаксис» в строке, где «b = a» – user3041107