про конвертер данных II

Решил довести таки предыдущюю запись до логического конца. Итак, на следующей “итерации” мы переносим разбиение строк на столбцы к операции считывания данных и записываем в более питонистом стиле (то есть без lambda)

# считываем и разбиваем на столбцы
data = [x.split() for x in open(input_file, 'r').readlines()]
# конвертируем
data = [x+"  %4.2f\n"%((float(y)-32)/1.8) for (x,y) in data]
# записываем результат
open(output_file, 'w').writelines(data)

PS: ну а самый правильный инструмент для подобных задач, конечно же, awk
cat input.dat | awk '{print $1 "  " ($2-32)/1.8}' > output.dat

Оставить комментарий