No.1
- 回答日時:
SED(
http://ja.wikipedia.org/wiki/Sed_%28%E3%82%B3%E3 … )が最も早い。慣れないと難しいので、perlなどの正規表現扱えるテキストエディタで・・・
ORUKA1951様
ご回答ありがとうございました。
参照URLを拝見させて頂きましたが、正直、さっぱりわかりませんでした。(私、プログラム音痴なんです。)
自動処理してくれるソフトをご存じないでしょうか?(有料でも無料でもどちらでもOKです。あんまり、高価(1万円以上)なのは、困りますが・・・・・・。)
No.2
- 回答日時:
>自動処理してくれるソフトをご存じないでしょうか?
それはないのですよ。
CSVは単なるテキストデータです。あなたのパソコンでは、Windowsの悪弊でCSVにexcelが関連付けられているに過ぎないのです。
⇒Comma-Separated Values - Wikipedia( http://ja.wikipedia.org/wiki/Comma-Separated_Val … )
よって、テキストエディタで処理すべきであって、表計算ソフトで処理すべきではないのです。CSVを展開してテーブルにしたり、またCSVに戻す処理が大きな負担となります。
単なるテキストデータですから、テキストエディタで処理するのが簡単でとっても早い。SEDのようなストリームエディタだとファイル全体を開くことすらしないため、数万行あっても数分もかからず終了するでしょう。
・SEDは、CUI( http://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3% … )に不慣れな人にはハードルが高いと思いますが、GUI( http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%A9% … )で処理するためには表計算ソフトで開かなければなりませんから、最初の問題に戻ってしまう。
よって、
・テキストエディタで開いて、正規表現を使って置換する
・PerlやRubyなどのテキスト処理が得意なプログラム言語を使ってプログラムを書く
の二つしか方法はないのです。いずれもフリーソフトがたくさんあります。
例えばPerlなどは、とてつもなく強力なプログラム言語でありながら、記述方法の制約が少ないですから扱いやすいでしょう。
Perlで・・・
sub CSV2CSV{
my $tmp = $line;
$tmp =~ s/(?:\x0D\x0A|[\x0D\x0A])?$/,/;
@values = map {/^"(.*)"$/ ? scalar($_ = $1, s/""/"/g, $_) : $_}
($tmp =~ /("[^"]*(?:""[^"]*)*"|[^,]*),/g);
my @newValue = ($value[1],$value[3]);#2番目と3番目のデータ
$newline = join ',', map {(s/"/""/g or /[\r\n,]/) ? qq("$_") : $_} @newValues;
print OUT $newLine;
}
とか・・・
ご回答ありがとうございました。
自動処理してくれるソフトは無いのですね。
PerlやRuby・・・・・VBAも持て余している私には敷居が高過ぎます・・・・・(涙)
申し訳ございませんが、他の方の回答を待ってみます。
重ね重ねありがとうございました。深くお礼を申し上げます。
No.3
- 回答日時:
漠然とした質問なので答えにくいのですが、
エクセルで手でやるにはデータが多すぎるということのでしょうか?
手でやれないのなら何れにしてもプログラムっぽいものを書かないと無理なように思います。
データの集計を主にやりたいのでしたら、この際Rにでも挑戦されてはいかがでしょうか。Perlやsedなどよりは敷居が低いと思います。やりたい事をも少し具体的に書かれたらアドバイスは可能ですが。
http://www.r-project.org/index.html
例えばCSVファイルを読むだけなら
read.csvでできますし、書くのはwrite.csvです。
日本語の情報はかなり有りますので検索してみてください。ちょっと癖があるソフトですが複雑なデータ集計には便利です。
この回答への補足
ki073様
ご回答ありがとうございました。
>手でやるにはデータが多すぎるということのでしょうか?やりたい事をも少し具体的に書かれたらアドバイスは可能ですが。
そうなんです。手でやるには、数が多すぎるんです。やりたい事を具体的に書きますので、大変お手数をお掛けしますが、宜しくお願い申し上げます。可能なら、パソコンに負担がかかるかもしれませんが、vbaでプログラムを書きたいのですが。
ある競馬予想ソフト(!)の予想・結果を1レース毎にcsvのファイル(ファイル名プレミアムモンスター2・2013年01月05日京都01R.csvからプレミアムモンスター2・2014年09月14日新潟12R.csv)で出力しています。
出力先は、デスクトップ→kirk77(フォルダ名です)→PM2(フォルダ名です)→13.01(レース開催日が2013
年01月という意味のフォルダ名です。)→13.01.05(開催日が2013年01月05日という意味のファイル名です。)から
14.09(2014年09月という意味のフォルダ名です。)→14.09.14(開催日が2014年09月14日という意味のファイル名です。)
このCSVファイル(1日につき24レースから36レースあります。)を月別に13.01.xlsxから14.09.xlsxのファイルに、見やすいように、書き換えたいと思っています。
例の画像が3枚になりますので、後ほど、質問を3つ連続投稿させて下さい。(画像の添付が1つの質問に1つしかできませんので・・・)
番号275がcsvの画像です。276(セルA2からY2)と277(セルV2からAT2)が書き出したい例です。書き出したい例が横に長いので、画像を2つに分けました。
アドバイスを宜しくお願い申し上げます。
No.5ベストアンサー
- 回答日時:
No.3の補足欄について
画像がどこにあるか分かりませんが、
月単位のフォルダがあってその中に日ごとのファイルが入っている。
月単位でそれぞれのファイルの特定部分を抜き出して、一つのファイルにまとめたいということでしょうか?
「特定部分」というのはどのようにすれば分かるのでしょうか?レース数が違うようですので多分決めうちはできないのでしょうね。
これさえ特定できれば、簡単そうに見えるのですが、
VBAは分かりませんので、VBAにこだわるのであれば、整理してここのカテゴリーで新しく質問されればどなたかアドバイスしてくれると思います。
RやRubyで良ければプログラムを書いてみますが、直感ですがRubyの方が楽な様な。私はよくわかりませんがPerlやPythonでも同じようにできると思います。
ご回答ありがとうございます。
申し訳ございません。画像を3枚、新しい質問に載せたのですが、1つの質問を終わらせる前に連続投稿したために、新しい質問が事務局の方に削除されたようです。
>RやRubyで良ければプログラムを書いてみますが
ご親切にありがとうございます。RやRubyは書いて頂いても、扱い方がよくわかりません・・・・。
おっしゃるように、内容を整理して、VBAで、再質問してみたいと思います。
一旦、この質問は締めようと思います。
何回もありがとうございました。深く御礼を申し上げます。
(もし、何かありましたら、今後とも宜しくお願い申し上げます。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) VBAで出力したCSVファイルの先頭にカンマを挿入したい 5 2022/10/14 12:20
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル初心者です 関数の入れ...
-
Microsoft1Officeの互換ソフト...
-
Excel ピボットテーブルで日付...
-
エクセル関数を教えてください
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
LOOKUP関数を使えばいいのでし...
-
エクセル 白黒印刷で白線を印刷...
-
【関数】先頭だけにある、半角...
-
【関数】適切な文字数の数字を...
-
Excelのチェックボックスの使い...
-
エクセルでの作業計算方法について
-
Excelのpivotについて質問です
-
WPS OFFICEでの縦書きについて
-
時間によってファイル名が変わ...
-
エクセルのセルに同じ大きさの...
-
Aというブックの1というシート...
-
エクセルの順位別一覧表の自動...
-
西暦や和暦の表示をyyyymmdd表...
-
【マクロ】エクセルにかいてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報