dポイントプレゼントキャンペーン実施中!

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

A 回答 (1件)

質問者さんの希望するようなテキスト処理は、やっぱりPerlというスクリプト言語を学習されて使うといいと思います。

Windowsの付属コマンドや、バッチファイルだけでは難しいと思います。

Perlは、読み込んだテキストから、特定の文字列とか、正規表現に一致するところを探して、その内容を加工して書き出すような処理は大得意な言語です。コンパイルも不要で、プログラムを修正しながら、トライ&エラーを繰り返せばいいと思います。

私も仕事上、大量なテキストファイルやバイナリーファイルのチェックや加工をする機会があるのですが、Perlのお世話になっています。

なお、Perlは奧が深い言語です。単なるテキスト変換だけでなく、簡単なコンパイラーやインタプリタのようなものまで作ることも可能です。なので、とりあえず、質問にあるような簡単なレベルの処理から入ってゆき、経験を積むと、個人の作業レベルで必要になるようなテキスト処理は、ほぼ全て可能になると思います。

URLを参考にするとか、Perlの書籍を購入されて勉強するといいと思います。

参考URL:http://homepage1.nifty.com/gak/perl/index.html
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/06/20 14:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!