• ベストアンサー

datファイルをcsvに変換したい

ある装置のデーターを抽出するとDAT形式のファイルがあるのですが それをCSVに変換しようとおもいEXCELなので分割してやってみたのですが 値が抜けているところがあると列ごとにうまく分離できません。 このような変換をできるソフト(マクロ?)などあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

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)

回答No.4

#2です。 >はい、やってみるとデーターが抜けているところが >ずれてしまい、うまくいきません。 テキストファイルウィザードで「スペースによって右または左に揃えられた・・・」を指定しても抜けるということは そのデータは、抜けている部分がスペースで埋められているのではなく 詰められてしまっているのでしょうか? もしそうなら、どの部分が詰められているかを判断しないといけないのでマクロを使っても難しいと思います。 データに全角文字が含まれている場合、 テキストファイルウィザードの区切り位置設定画面で 文字位置がずれて表示されてしまうので 区切り位置の設定がわかりにくいのですが。

回答No.2

DAT形式がどんなものか不明ですが エクセルの「データ」→「外部データの取り込み」→「テキストファイルのインポート」を実行し テキストファイルウィザードで「スペースによって右または左に揃えられた・・・」を 選択すればどうでしょうか?

kevinsan
質問者

補足

はい、やってみるとデーターが抜けているところが ずれてしまい、うまくいきません。

noname#6248
noname#6248
回答No.1

テキストエディタの置換を使ってみるというのでは駄目ですかね… 半角スペース→タブへ置換するんです。 方法 『正規表現』をチェックして、『\t』と入力 タブをコピー(CTRL+C)&ペースト(CTRL+V)して『・』とい記号を表示 これでタブになりますが…

関連するQ&A

  • datファイル→csvファイル→datファイル

    あるソフトをエクスポートし、そのフォルダの中にあるdatファイルの一つをノートパッドで開くことができました。このdatファイルをcsvファイルにするときれいな表ができあがるので、このままデータを書き直し、また元のソフトにインポートしたいと考えています。しかしcsvファイルのままインポートしたり、拡張子をdatにかえてもデータが壊れたとの表示が出て何度やってもインポートがうまくできません。日付の部分が数値に置き換わっているからなのでしょうか。(datファイルのままノートパッドで開き、中のデータを編集してインポートするとちゃんとインポートできるのですがカンマで区切られているだけなので非常に編集作業がやりにくいですのでなんとかcsvの形でと考えています)編集がしやすく、インポートできる方法を教えて下さい。よろしくお願い致します。

  • エクセルファイルの1レコード(1行)を1csvファイルへ変換マクロ

    エクセルファイルの1レコード(1行)を1csvファイルへ変換し、エクセルファイルにあるレコード数分だけあるフォルダに自動作成するマクロを教えて下さい。 因みに、csvファイル名は、エクセルデータの『a列.csv』となるようにしたいです。 【例】 本日2007/11/13 ○○.xls A列 B列 C列 111 1 356 13 1 2 ・ ・ ・ ・ ・ ・ 111.CSV "2007/11/13(火)","1","356,"","","" 13.CSV "2007/11/13(火)","1","2,"","","" 変換後のcsvの中身は 1列目に、本日の日付 2列目に、1 3列目に、変換元のエクセルファイルの3列目 4、5、6列目に空白 という形式です。 どなたかお分かりになるかた、ご教授願います。

  • csvファイルからの変換

    csvファイルに20030627と、テキストで数字が入っています。 これをExcelファイルに変換すると、形式が日付にならないので、2003/06/27となるようにしたいのですが(文字列ではなく)、簡単にはいきません。 いい変換方法はないでしょうか。

  • msgファイルをcsvにするには

    前任者からの引継ぎで、アンケート集計を行っています。 アンケートフォームからメールに回答がくるのですが、前任者が集計していた分は、msgファイルとして1通ずつローカルに保存してあります。(OutlooK2003を使用していますが、既にOutlook上にはこのメールはありません。) 今回古いものを集計することになり、msgファイルをCSV形式(またはExcel)にしたいのですが、色々探しても受信したメールをエクスポートしたり、エクスポートさせるソフトはあるようですが、保存済みのmsgファイルをcsvに変換するようなものが見つかりません。 msgファイルをcsvまたはtxtに変換するソフトまたはマクロなどあるのでしょうか。 数が少なければ、1通ずつ開いてtxt形式で保存し、csvで開くことは可能なんですが、かなり数が多くて手作業で行うのは難しいです。 分かりづらい説明かもしれませんが、情報がありましたら教えてください。 よろしくお願いします。

  • csvファイルの読み込みができません。

    csvファイルの読み込みができません。 過去にExcelで作成したデータをcsvに変換するマクロを作ってもらいました。 (Excel表の中にマクロを登録したボタンがあって、それをクリックするとcsvファイルが作成される) そのcsvファイルをそのまま使用すると、読み込みができますが、一旦csvファイルを開いて一部データの変更をして保存すると読み込みができなくなります。 また、自動にファイル名が設定されるので、わかりやすいようにファイル名を変更しただけでも読み込みができなくなります。 csvファイルにも種類があるんでしょうか?

  • CSVファイルをEXCELに変換の自動化作業

    CSVファイルをEXCELに変換の自動化作業 {CSVファイルをEXCELに変換するため、 excel  ツールバーよりデータ(D)→外部データの取り込み(D)→テキストファイルのインポート→ファイルの種類変更→全てのファイル→○○.csvのファイル指定→“,”の区切り選択、、ウィザードに従って変更し次へで進む→A1が指定されるのでそのまま完了→CSVがEXCELファイルに変換された。 参照したabc1.csvの名前に対して新しいabc1.xlsとなずけて登録する。これらの作業をMYドキュメントのhenkan ホルダーに入っているCSVファイルに同様に作業して同じくhenkan ホルダーに入れる。} 上記の{ }内の作業を何か,excelのVBAのマクロのようなもので実行することはできませんか。 やり方を教えてください。

  • CSVファイルの行が突然消える

    あるデータを抽出し、それをCSVファイルで取り込み、1つ取り込む ごとにCSVファイルが1行ずつ増えていきます。 適当な時期に、何行かたまった行を一気にAccessを用いてさらに取り込み ます。(取り込むのみ) あるとき、CSVファイルを開くと突然CSVファイルの行が減って いるのです。 何が起きているのでしょうか? Accessに何かマクロとか組んであって突然消えるのでしょうか? Accessを開く前と開いた後(取り込んだ後)で、特にCSVファイル に変更はありません。 あるとき突然CSVファイルを開くと昨日まであった行が突然 消えてしまうのです。(いつ起こるのか予測できていません。) CSVファイルにはマクロが組んであるようには見えません。 何かわかればお願いします。

  • エクセルデータからCSVファイルへの変換について

    現在エクセルファイルにあるデータをCSVファイルへ変換する作業(エクセルでデータを作成して、保存時にCSVファイルを選択)をしているのですが、以下の例の場合うまく変換ができません・・・。 基本的な質問かもしれませんがどなたかご存知でしたら教えていただけると助かります。 よろしくお願いします。 【例】         (エクセル) ⇒  (CSV) うまくいく   12345     12345 うまくいかない 01234     1234 上記のようにエクセル上は文字列で管理されている ケースだとCSVファイルに変換した時数列に変換 され、上記例のうまくいかないケースのように 頭に0がある場合CSVだと0が消えてしまいます。 よろしくお願いします。

  • 巨大なCSVファイルを編集したい

    以下のような、カンマで区切られたCSVファイルがあるとします。 個人ID,測定日,速度,曜日,エラーチェック a001,20110212,0,1,0 a001,20110212,5,1,0 a001,20110212,10,1,0 a002,20110212,2,1,1 a002,20110212,8,1,0 a003,20110212,10,1,1 a003,20110212,15,1,0 これが実際には下に4000万行ほど続き、ファイルサイズは2GBを超えます。 そのため、使用しているExcel(2010)では完全に開くことができません。 そして、やりたい作業は以下の2つです。 1、列を絞りたい たとえば、個人IDと速度、エラーチェックだけ残してあとは消す、など。 2、行でファイルを分割したい たとえば、a001さんのデータだけを抽出したCSVファイルを別で保存するなど。 最低限、巨大なCSVファイルを扱うことができるエディタがあればよいのですが、上に挙げた作業が簡単にこなせる機能があれば嬉しいです。 また、プログラムはFortran90を扱うことができますので、Fortranによる方法があればそちらでもかまいません。(その場合は、完全でなくてもよいのでソースを書いてくださると助かります。)

  • Excel ファイルをCSV ファイルに変換できな

    お世話になります。 データベースにデータを入力するためにコマンドプロンプトからCSVファイルを load data infile コマンドを使ってやりたいと考えています。 Excelで作成した、日本語の入ったファイルをCSVファイルに変換しようとしていますが、添付のスクリーンショットのエラーメッセージが出てきて、うまくいきません。私はカナダ在住者で、英語版のWindows 10を使っているためメッセージは英語になっていますが、指定したファイルにはCSV形式とは互換性のない特性が含まれているとのこと。このファイルフォーマットを保持しますか?という質問の後に、3つの選択肢が表示されています。 2:このフォーマットを保持してCSV形式とは互換性のない特性を除外するならYESボタンを 2:CSV形式とは互換性のない特性を保持したいならNoボタンを押して、最新のExcelでセーブする 3:どんな特性が失われるのかを見るにはHELPボタンを HELPボタンを押してみたら私の使っているExcel2007は引退したとのことで、UPDATEを促してきました。 新しいExcelにバージョンアップするしか方法はないのでしょうか? 私のやった操作と、最後に出てきたエラーメッセージのスクリーンショットを添付します。 どなたかお知恵をお貸しください。お願いします。

    • ベストアンサー
    • MySQL

専門家に質問してみよう