Задача: как обычно перевести данные из одного формата в другой. Будем делать из одного большого исходного файла много мелких, при этом названия будем выцеплять из заголовков столбцов.
Инструменты:Python с модулями sys, math, string
Задача тривиальная и решение у неё простое.
Изначальный файл содержит в себе следующую таблицу
Взять его можно отсюда -
Это результаты измерений течения при помощи где то в районе моря Лаптевых, если кому интересно ) Первые пять столбцов - день, месяц, год, часы, минуты. Они нам не нужны. Оставшиеся шесть это то что нам, собственно, нужно - сами значения. E - восточная компонента течения, N - северная. Цифры у букв означают глубину.
Наша задача создать по отдельному файлу для каждой из глубин, в котором было бы всего два столбика - E и N. При этом NaN должно быть заменено на 9999.
Задача: прочитать файл с ascii данными и разбить его по матрицам
Инструменты:NumPy, PyNGL, SciPy
Поскольку в питоне поддержки многомерных матриц в явном виде, насколько я понимаю, нет, человечество изобрело NumPy.
Некоторые видят в NumPy хорошую альтернативу MATLAB. Эти два языка имеют некоторое сходство: они оба являются интерпретируемыми и оба позволяют пользователю писать быстрые програмы, поскольку большинство операций производится над массивами и матрицами а не над скалярными значениями. MATLAB обладает тем преимуществом что в нём встроены тысячи математических функций и ещё гораздо больше доступно в коммерческих и свободных библиотеках. В то же время NumPy является более современным и полным языком программирования, а также open source и бесплатным продуктом. Библиотека SciPy добавляет ещё больше MATLAB подобной функциональности, а Matplotlib - пакет обеспечивающий MATLAB подобный функционал в области графики. Хороший рассказ о питоновских библиотеках которыми можно заменить матлаб можно прочесть здесь.
Ну и поскольку для океанолога главным вопросом при изучении любого языка является "как читать и записывать данные", то с этого и начнём.