perlで出力したファイルがKaleidaGraphで読めない

ターミナルでperlを使ってファイルを作りました。やり方は下記のようです。
% test.prl > output.dat
状況は次のようです。
(1) このperlプログラムの入力ファイルは、別のLinuxマシンで計算した結果で、含まれる文字列は英数字だけです。このファイルの形式は”Mac Wavelets WBIN ドキュメント”とかいう見たこともないものでした。ミミカキエディットで文字コードを見てみますと、改行コードはLF(UNIXの形式),文字コードは(EUC-JP)になっていました。
(2) このファイルを、perlプログラム内部でopen文により読み込みまして、加工しています。
(3) 出力ファイルoutput.datには英数字しか入っていません(日本語は含まれない)。改行コード、文字コードは上述のと同じでした。
これをKaleida Graphで読み込み、グラフを書こうとしているのですが、読み込む際、このファイルを選択できません。
ふつうのテキストファイルで出力したいのですが、ご存知の方いらっしゃいましたら教えていただけませんか。これまでは、出力ファイルをいちいちエディタで開いて、文字コードを変換していたのですが、ファイルの大きさが70MBとかで、手に負えなくなりました。

投稿日 2006/01/25 19:37

返信: 4

2006/01/26 05:11 Community User への返信

簡単です。行末コードを LF から CR に変えてやるだけです。
その perl program の中でこの変換もやるようにしたらどうでしょうか。今は、
print $line;
とかで出力しているのではないかと思いますが、これを、
chop($line); # 行末のLF を削除
print "$line¥r"; # 行末をCRにして出力
としてやるだけで、改行コードはCRになります。あるいは、$line を作るときに最後に ¥n を付けているのではないかと思いますが、これを ¥r に変えてやるだけでもいいです。
あるいは、perl プログラムはそのままで、tr コマンドを利用してもいいです。
% test.prl | tr '¥n' '¥r' > output.dat
とすれば、output.dat の行末コードは CR になります。tr コマンドは RedHat でも、Darwin でも利用できます。
エクセルは行末コードが LF でも正しく読み込んでくれます。このため、unix からの出力との相性はとてもいいです。
エクセルで読み込んでエクセルファイルとして出力しても Kaleida Graph に読み込めませんか? Igor だとそれでできます。

2006/01/26 14:31 Community User への返信

>これをKaleida Graphで読み込み、グラフを書こうとしているのですが、読み込む際、このファイルを選択できません。
デモ版で試してみました。
(1)拡張子を.txtにする。
(2)開く時、すべてのドキュメント、を選ぶ。
(3)Optionキーを押しながら、ファイル/開く...、をする。
のいずれでもで読み込めます。お好きな方法で読み込んでください。なお改行コードはLFで構いません。
藤沢

2006/01/26 15:27 Community User への返信

はに様、どうもありがとうございます。
ご指摘の方法を使いまして、おかげさまで読み込むことができました。
> エクセルで読み込んでエクセルファイルとして出力しても Kaleida Graph に読み込めませんか? Igor だとそれでできます。
こちらも、KaleidaGraphで試してみましたら、ちゃんと読めました。これまで苦労していたのが嘘のようです。
どうもありがとうございました。

2006/01/26 15:38 Community User への返信

藤沢様、
どうもありがとうございます。こういう便利な方法もあるのですね。
勉強になりました。
# 今までの苦労はなんだったのか...

このスレッドはシステム、またはAppleコミュニティチームによってロックされました。 問題解決の参考になる情報であれば、どの投稿にでも投票いただけます。またコミュニティで他の回答を検索することもできます。

perlで出力したファイルがKaleidaGraphで読めない

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。