過去の桐井戸端BBS (桐ver.7) |
1139 | ver.2か3のデータをCSVに変換する | きちえもん | 1999/1/24-01:18 |
今年社会人スキー大会の幹事をやっているものです。本日大会競技の会場となるスキー場に下見に行ってきました。 スキーレースの幹事というと手書きで記録されたレースタイムをPCに打ち込んでソートして確認して. ..という鬼のような手作業を覚悟していたのですが、今日行ったスキー場のタイム測定機器は 自動に計測されたタイムをPCに落としてくれるということを聞き心の中でガッツポーズをしていました。 しかし、実際にPCを見てみると相当前のPC98(MSDOSはVer3.30Dだったかな)があり、 実際のデータはBASICと桐(Ver不明。確か2か3だったような)でハンドリングしていました。 桐についてはかすかに名前を聞いた程度だった私は気を失いそうになりましたが、 タイム集計ソフトのメニューにK3ファイル(昔はcsvファイルのことをこういう名前で呼んでいたらしい) への変換というのがあり、再び心の中でガッツポーズをしていました。 しかし、そのメニューにはバグがあり、桐の生データ(.dat)らしきものをみるとそこには確かに 選手のタイムが入っているのにメニューから作成した.csvファイルにはすべてのタイムが0で 出ているようでした。 桐のデータと思われるファイルをフロッピーに落として別のWindowsマシンのDOSエディタで 開いてみるとタイムと思われる部分の先頭文字が256バイト間隔になっていることが判明しました。 桐の生データをテキストファイルとして開いても選手名とタイムの部分は何とか読めるようだったので、 上手いことその2つを切り出す方法を考えると同時にスキー場のBASICベースのスコア集計ソフト メニューを使わず直接桐を使ってデータ変換をするという2つのアプローチで残り少ない時間で 勝負しようと思っています。 長くなってしまいここまで愚痴のようなものを読んでいただいただけでもありがたいのですが、 昔の桐(ver2 or ver3)の生データが固定長になっているのか否か、ご存知な方いらっしゃいま したら教えてください。 固定長であればダサいですがCでごりごりプログラムをかけば何とかなると踏んでいます。 初歩的なもので申し訳ありませんでした。またきます。 | |||
1140 | Re: | 幅田 | 1999/1/24-08:13 |
記事番号1139へのコメント きちえもんさん、こんにちは。 >そのメニューにはバグがあり、桐の生データ >(.dat)らしきものをみるとそこには確かに選手のタイムが入っているのにメニュー >から作成した.csvファイルにはすべてのタイムが0で出ているようでした。 ちょっとひっかかるのですが、桐の生データの拡張子は.TBLです。 .datはおそらくBASICで作られたファイルだと思われます。 BASICでシーケンシャルファイルならそのままテキストファイルとして使えると思います。 ただ、データの区切りはプログラムの作り方によってどうにでもなるので、それは解析する 必要があります。 おそらく、プログラムのほとんどがBASICで作られていて、後でそのデータを桐で活用するために K3で出力というメニューを設けたのだと思います。 もし、拡張子.TBLのファイルがあるのなら、それをCSVに変換する方法はあります。 とりあえず、桐ver.2か3のデータをCSVに変換したいということなので、 管理工学研究所のHPから桐ver.7.1(Windows95&98&NT対応)の体験版をダウンロードして、 それを使えばいいのではないでしょうか? URLは↓ http://www.k3-unet.ocn.ne.jp/down.html 試用期間は90日でその他の機能は問題なく使えますので、今年のスキー大会には間に合うの ではないでしょうか? 拡張子 TBLのファイルを再定義で開くと桐ver.7.1用のファイルに変換されます。 表示→編集へを選び、データの内容を表示した後、ファイル→書き出し→CSVで 表示されているデータをCSVファイルに出力することができます。 できれば、大会終了後にでもじっくりと桐ver.7.1をさわって見てください。 では、ご健闘を祈ります。 華やかな選手たちの影には、きちえもんさん達のような裏方さんの苦労が必ずあるの ですね。 私もいろんなイベントで経験がありますが、お気持ちすごくわかります。 がんばってください。 | |||
1141 | Re: | ikjun | 1999/1/24-08:18 |
記事番号1139へのコメント > 長くなってしまいここまで愚痴のようなものを読んでいただいただけでもありがた >いのですが、昔の桐(ver2 or ver3)の生データが固定長になっているのか否か、ご >存知な方いらっしゃいましたら教えてください。固定長であればダサいですがCでご >りごりプログラムをかけば何とかなると踏んでいます。 桐はVer2から使ってますが、Ver1から可変長のはずです。特にファイル形式を公開しているわけ ではないと思いますので、直接C言語で編集をかけるのは難しいのではないかと思います。 それから、K3ファイルというのは、CSVファイルの1形式にすぎません。 当時まだCSVファイルという名前は必ずしも、一般性が無かったはずです。 それで管理工学が勝手に形式を決めて、名前を付けたテキストファイルが、 K3ファイルだったのではないかと推測します。 ですから、拡張子がK3になっている以外に特に違いはありません。 たぶん、直接桐で桐のファイルを呼び込んで、K3ファイルで書き出せばokだろうと思うのですが、 どうでしょうか? http://www.vector.co.jp/vpack/filearea/dos/business/db/kiri/index.html ここにそういったことを支援してくれそうなソフトが複数存在します。一度見てみたらどうでしょう。 | |||
1142 | Re: | ikjun | 1999/1/24-09:47 |
記事番号1140へのコメント >ちょっとひっかかるのですが、桐の生データの拡張子は.TBLです。 >.datはおそらくBASICで作られたファイルだと思われます。 >BASICでシーケンシャルファイルならそのままテキストファイルとして使えると思います。 >ただ、データの区切りはプログラムの作り方によってどうにでもなるので、それは解析する >必要があります。 >おそらく、プログラムのほとんどがBASICで作られていて、後でそのデータを桐で活用するために >K3で出力というメニューを設けたのだと思います。 それもそうですね。そこまで考えなかった。それに桐のデータがエディッタで見えたというのも変な話ですね。 BASICのシーケンシャルファイルだとみるのが正解でしょうね。 あとはBASICのソースファイルが残っているかどうかですが、時代から考えてN88BASIC だろうと思いますので、それは問題ないでしょう。 暗号化されてても解除する方法があるはず。 Cでごりごりプログラムを書くだけの能力があれば、CSV書き出しのバグを直したほうが早そうな気がします。 それができないのであれば、エディッタのマクロなどを使って”,”のような区切り文字を挿入すればなんとでもなりそうですね。 桐Ver7.1でやるなら、全体を1つの項目でテキストファイルとして呼び込んで、「#部分列」関数などを使って、細分化するという方法もありそうですね。 目で確認しながら出来ますので、桐に慣れているのなら関数だけで出来るので迷わずこれですが、 後はきちえもんさん次第でしょう。 タイム集計をするようですが、集計は桐の得意とするところ(ちょっとしたことなら、プログラムする 必要はない)ですので、そのまま桐でやるのが一番良いと思います。 昔BASICでやった程度のことならあっという間にできると思います。 残念ながらグラフ機能がいまのところありませんので、集計した結果をEXCELなどに渡して、 グラフを作ってやれば、完璧でしょう。 | |||
1146 | Re: | きちえもん | 1999/1/24-15:39 |
記事番号1139へのコメント 一日でいろいろなことを教えていただきありがとうございました。 桐をもっと勉強して2月27、28日までになんとか解決する勇気が出てきました。 .datは私もベーシックのシーケンシャルファイルかと思っていたのですが、PC98のDOSプロンプトで typeコマンドで見ても文字化けしていたので桐のファイルかと思ってしまいました。 現在は桐以外に1.25Mフォーマットのフロッピーという頭の痛い問題に悩まされています。 情けない...。 手元にPCがないのでスキー場の人にいろいろ実験してもらってまた進展(あるいは後退) がありましたらご報告させていただきます。 | |||
1147 | Re: | ikjun | 1999/1/24-20:19 |
記事番号1146へのコメント >.datは私もベーシックのシーケンシャルファイルかと思っていたのですが、PC98のDOSプ >ロンプトでtypeコマンドで見ても文字化けしていたので桐のファイルかと思ってしまいま >した。 昔のことではっきりわかりませんが、BASICはMS−DOSで使うシフトJISでは なくJISコードなので、TYPEコマンドでは文字化けしているのでしょう。 N88BASICから見てみましょう。たぶん読めるはずです。昔JISからシフトJISに変換する プログラムもあったのですが・・・・・・? >現在は桐以外に1.25Mフォーマットのフロッピーという頭の痛い問題に悩まされています。 >情けない...。 720KBのフロッピーで互換性をとりましょう。 LHAで圧縮すればかなり大きいファイルでもなんとかなると思いますが? | |||
1149 | Re: | ikjun | 1999/1/24-20:36 |
記事番号1147へのコメント 追加情報です。 文字コードの変換ソフトはここです。 http://www.vector.co.jp/vpack/filearea/dos/util/text/conv/code/index.html それとNECだけの特別なコードもあるので、気を付けて下さい。 |