複数のテキストデータをTSV(Tab Separated Value)にまとめる概要吸収スペクトルなどの測定において、一定時間ごとに決められたデータポイント数をテキストデータで落とした場合に、一つのTSV(タブ区切り)形式のファイルにまとめることができる。ただし、全ての時間において、同じデータ幅、同じデータポイント数でないと、多分、期待されるような動作は示さないと思います。 その辺までの面倒は見ないけれど、時と場合によっては多分役に立つことがある…といいな。 測定データだけでなくても、perlを用いて、テキストデータからTSVやCSV(camma separated value:カンマ区切り)形式への変換や、TSV、CSV形式でのデータ処理をしたい場合には、ヒントになるかも。 ちなみに、CSVでのソートはここのページが役に立つと思います。 ちなみに、1行目にファイル名が表示されるので、元ファイルを開かなくても大丈夫! 必要なファイル
使用法コンソールで使用します。# perl txt2tsv.pl -d [dirname] で、指定したディレクトリ内のファイル(拡張子が.txt)を全て一つのtsvファイル(out.tsv)にまとめる。 補足僕が使用しているUV-Visスペクトルの出力データは、1列目が波長、2列目が吸光度になっています。なので、1つ目のファイルからは波長、吸光度の両方を吸い取るけれど、2つ目以降のファイルからは、吸光度のみを吸い取るようにしています。 この挙動が嫌な場合は、適当に作り替えちゃってください。 あと、どのファイルから読み込むかはプログラム任せなので、処理後にエクセル等で並べ替えるか、プログラムを改良してください。 このプログラムでのデータ変換例を下に示します。
| ||||||||||||||||||||||