- ベストアンサー
datファイルをcsvに変換したい
ある装置のデーターを抽出するとDAT形式のファイルがあるのですが それをCSVに変換しようとおもいEXCELなので分割してやってみたのですが 値が抜けているところがあると列ごとにうまく分離できません。 このような変換をできるソフト(マクロ?)などあるのでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
DAT形式とは,フィールド数(項目数)4の例でいうと <.は1スペースを表すとします> (第1レコード)..123...23.......45 (第1レコード).1244....4...11...6 のように、5、5、5,4桁のようなファイルフォーマットで、第1レコードで第3項目がスペースばかりなので うまく行かないと言うことですか。 もしそうなら、Basic言語(VBA)でMID関数で切りだし、Write#ステートメントで書き出し、CSVファイルにすることが出来ます。 10数行のコーディングです。
その他の回答 (3)
- Hayashi_Trek
- ベストアンサー率44% (366/818)
#2です。 >はい、やってみるとデーターが抜けているところが >ずれてしまい、うまくいきません。 テキストファイルウィザードで「スペースによって右または左に揃えられた・・・」を指定しても抜けるということは そのデータは、抜けている部分がスペースで埋められているのではなく 詰められてしまっているのでしょうか? もしそうなら、どの部分が詰められているかを判断しないといけないのでマクロを使っても難しいと思います。 データに全角文字が含まれている場合、 テキストファイルウィザードの区切り位置設定画面で 文字位置がずれて表示されてしまうので 区切り位置の設定がわかりにくいのですが。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
DAT形式がどんなものか不明ですが エクセルの「データ」→「外部データの取り込み」→「テキストファイルのインポート」を実行し テキストファイルウィザードで「スペースによって右または左に揃えられた・・・」を 選択すればどうでしょうか?
テキストエディタの置換を使ってみるというのでは駄目ですかね… 半角スペース→タブへ置換するんです。 方法 『正規表現』をチェックして、『\t』と入力 タブをコピー(CTRL+C)&ペースト(CTRL+V)して『・』とい記号を表示 これでタブになりますが…
補足
はい、やってみるとデーターが抜けているところが ずれてしまい、うまくいきません。