テキスト内容のバッチ処理方法とは?

このQ&Aのポイント
  • csvの内容変換をする際に、テキスト内容をバッチ処理で変換する方法を教えてください。
  • 大量のデータを扱う場合、csvファイルをtxtファイルに保存してバッチ処理することができます。また、桁数の多い数字や特定の文字列に対しても処理を行うことができます。
  • 具体的な処理方法としては、カンマの後ろに「="」を挿入し、カンマの前に「"」を挿入し、行の末尾に「"」を挿入するといった処理を行うことができます。
回答を見る
  • ベストアンサー

テキスト内容をバッチ処理で変換する方法をおしえてください 。

csvの内容変換をしたいのですが、データの量が大変多いためどのような方法で変換すればよいか悩んでおります。 csvのまま開くと桁数の多い数字や、アルファベットの「E」を含んだ数字の列2.36E+256のようになってしまったり、不具合が起こります。文字列にしてみても解決されずでした。 そのため、その部分を「="」「"」で囲みたいと思ってます。 csvをtxt保存し、バッチで変換することはできますか? たとえば、~番目のカンマの後に「="」をいれ、~番目の前に「”」を入れ、末尾に「"」を入れた後次の行も同じくの処理をするというコマンドは可能なのでしょうか? いろいろ調べてみましたが、答えを見つけ出せません。よい方法があれば教えてください。

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

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

質問者さんの希望するようなテキスト処理は、やっぱりPerlというスクリプト言語を学習されて使うといいと思います。Windowsの付属コマンドや、バッチファイルだけでは難しいと思います。 Perlは、読み込んだテキストから、特定の文字列とか、正規表現に一致するところを探して、その内容を加工して書き出すような処理は大得意な言語です。コンパイルも不要で、プログラムを修正しながら、トライ&エラーを繰り返せばいいと思います。 私も仕事上、大量なテキストファイルやバイナリーファイルのチェックや加工をする機会があるのですが、Perlのお世話になっています。 なお、Perlは奧が深い言語です。単なるテキスト変換だけでなく、簡単なコンパイラーやインタプリタのようなものまで作ることも可能です。なので、とりあえず、質問にあるような簡単なレベルの処理から入ってゆき、経験を積むと、個人の作業レベルで必要になるようなテキスト処理は、ほぼ全て可能になると思います。 URLを参考にするとか、Perlの書籍を購入されて勉強するといいと思います。

参考URL:
http://homepage1.nifty.com/gak/perl/index.html
mottydokky
質問者

お礼

大変親切な回答ありがとうございます。 どのような方法があるかとても悩んでいたので、とても参考になりました。 Perlは名前だけ知っているレベルなのですが、業務上すごく有用そうなので勉強しようと思います。 解決の糸口が見つかりました。ありがとうございます。

関連するQ&A

  • バッチファイルに変換したいんですが

    テキストファイルをバッチファイルに変換したいんですが、 VISTAでは普通に.txtを.datに名前を変えればできるのですが XPでは名前を変えてもテキストファイルのままです。 XCOPYのコマンドを入れていてバックアップを取るための バッチファイルにする予定です。 すみませんがよろしくお願いいたします。

  • バッチファイルの作り方(CSV→タブ区切り)

    CSVファイルをタブ区切りにする手順は ツールーバーの 【データ】→【区切り位置】→カンマ、タブ などの設定で出来ると思います。 その手順を何度も繰り返すのが面倒なため、 バッチファイルを作成しようと考えています。 やりたい事としまして、 (1) .csvファイルをコマンドプロンプトに入れる(ドラックドロップ) (2) カンマ区切り→タブ区切りに変換し、上書き保存 ということをコマンドプロンプト(バッチファイル)で行いたいです。 関数としては for /f を使うのだと思うのですが、 よく分からないため教えていただきたいです。 宜しくお願いいたします。

  • PhotoShopのバッチ処理で

    複数のフォルダに分かれた大量の画像に同じ処理をかけるため、PhotoShopで作業内容のアクションを作成しバッチで実行するのですが、その際に処理した画像ファイルのファイルパス名を一覧でテーブル化したいのです。 バッチ処理で画像を保存した後、処理した画像ファイルの 画像格納フォルダ名,画像ファイル名,全画像共通の文字列,全画像共通の数値 というような内容を1つのtxtファイルに書き込み、csvファイル化するといったことは可能でしょうか? 可能だとしたら、どういう方法を使えばいいか、教えてください。 PhotoShopのバージョンはCS2、OSはWindowsXPです。 よろしくお願いします。

  • csv変換について

    メモ帳(.txt)のデータをcsv方式でカンマ区切りにしてexcelに取り込みたいとおもうのですがうまくいきません。どうしたらうまくいくでしょうか? ちなみにtxtは数字の羅列です

  • 拡張子を変換するコマンド

    TSVファイルがあり、CSVファイルに変換しています。 自動でやりたいと思い、バッチファイルを作成しようかと思いましたが、コマンドがわかりません。 拡張子を変換するコマンドというのはあるのでしょうか。 また、他に自動で変換するいい方法があれば教えてください。 宜しくお願いします。

  • EXCEL VBAでカンマ区切りテキストファイルに変換する方法

    EXCELで作成したシートをVBAでカンマ区切りテキストファイル(CSVファイルではなく)に変換する方法を教えてください 下記のプログラムではテキストファイルに変換されますが、カンマ区切りになりませんでした。 Sub Samp() ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\aa.txt", FileFormat _ :=xlText, CreateBackup:=False End Sub

  • データを追加するバッチの作成方法

    テキストファイルのA.TXTをB.TXTの最後に追加する バッチの作成方法はありますか? A.TXTを開いて、コピーしてB.TXTに貼り付けをするには データ量が膨大に大きいので、バッチで追加しないのです。WINDOWSのCOPYコマンドは置き換えるしかないようですが、そういうソフトかコマンドはありますか?

  • バッチ処理でCSVファイルコピーした後の記号削除方法

    こんにちは。バッチ処理作成初心者です。 Windows XP、エクセル2000 を使用しています。 複数のcsvファイルをバッチ処理(下記)でコピーしました。 copy /y aaa.csv+bbb.csv ccc.csv (結合させるcsvファイルは最大6つありますが、 上記コマンドでは2つのcsvファイルを結合させてます。) コピーしたcsvファイル「ccc」を開くと、必ず最終行A列に "・"という記号が現れます。 この記号を、「ccc」を開かずに削除する方法 もしくは、csvファイルをコピーしても記号が現れない方法を 教えてください。 (「ccc」は行数が最大で18万行を超えるため、いつも ファイルを開いて記号を削除することができません。)

  • バッチファイルでテキストファイル読込

    バッチファイルにてテキストファイルを一行読込みたいのですが、 「,」までの位置しか取得できません。 現状の該当箇所のコマンドと読込むテキストは以下になります。 [実行するコマンド] For /F "delims=" %%i in (read.txt) Do Call :Sub %%i :Sub set DATA=%1 echo %DATA% [読込むテキスト read.txt] "111","222","333","444" "111","222","333","444" [結果] "111" 結果の通り、カンマまでしか取得できていない状態です。 どなたかご教授の方、よろしくお願い致します。

  • DOS findコマンドのバッチでストールする

    DOSコマンドプロンプトで.batファイルを作成。 内容は find "2007:01" access_log_2007_04_11.txt >log2007041101.csv このバッチファイルを、検索するaccess_log_2007_04_11.txt と同じフォルダー上において、ダブルクリックで起動すると。 コマンドプロンプトが開くのだが、以前実行した、 find "2007:00" access_log_2007_04_05.txt >log2007040500.csv が、延々と実行され。 コマンドプロンプトを閉じても log2007040500.csv を、消しても消しても、作成される。 システムを落とすしかなくなる。のです。 4月の頭では正しく動作していたんですが???