csvファイルの結合について教えてください!


3万件程度の住所録がcsv形式で50ファイル程度あります。
これを一つのcsvデータにまめるなければならず、現在はメモ帳で1ファイルずつ開いて、最後の行に次のファイルを貼り付けて、ということを50回程度繰り返しております。
マクロか何かで一括処理できないものでしょうか?
けどトータル件数が数十万件になってしまいますのでエクセルではムリですし・・・。

アクセスや桐も持っております。

何かいい方法がございましたら、ご教授の程お願い申し上げます。

回答の条件
  • 1人2回まで
  • 登録:2007/07/06 16:22:46
  • 終了:2007/07/06 21:22:59

ベストアンサー

id:solunaris149 No.3

solunaris149回答回数100ベストアンサー獲得回数42007/07/06 19:56:12

ポイント26pt

Windowsと仮定しますが、コマンドプロンプト上で

typeコマンドとbatファイルを利用すれば良いと思います。

dir > file_all.txt としてファイル名のリストを

テキストに書き出し、必要なファイル名以外を削除します。

エディタ等で file_all.txtを編集し batファイルを作成します。(例、file_all.bat)

1.パスを考慮し、10個程度ずつまとめたファイルを生成する記述をします。

type file01.csv + file02.csv + file03.csv + file04.csv + file05.csv + file06.csv + file07.csv + file08.csv + file09.csv + file10.csv > file_01-10.csv

2.行を変えて、同様に必要なファイル数だけ書き加えます。

type file11.csv + file12.csv + file13.csv + file14.csv + file15.csv + file16.csv + file17.csv + file18.csv + file19.csv + file20.csv > file_11-20.csv

3.最終的に一つに統合するため以下を記載します。

type file_01-10.csv + file_11-20.csv + file_21-30.csv + file_31-40.csv + file_41-50.csv > file_all.csv

4.中間ファイルを削除する記述を加えます。

del file_01-10.csv

del file_11-20.csv

del file_21-30.csv

del file_31-40.csv

del file_41-50.csv

5.上記で作成したbatファイルを実行すると結合が可能です。

エディタが面倒でなければマクロを組まなくても済みそうです。

もっと良さげなやり方もありますが…。

id:ion10

ご丁寧にありがとうございますm(__)m

2007/07/06 21:22:44

その他の回答(2件)

id:minkpa No.1

minkpa回答回数4178ベストアンサー獲得回数552007/07/06 16:35:53

ポイント27pt

http://www.vector.co.jp/soft/dl/winnt/util/se319087.html

こちらはいかがでしょうか。

id:ion10

ありがとうございます

2007/07/06 21:19:23
id:saiso No.2

saiso回答回数39ベストアンサー獲得回数12007/07/06 16:41:23

ポイント27pt

コマンドプロンプトがつかえるなら

>copy a.csv + b.csv c.csv

でa.csvの後にb.csvを結合しc.csvと言う名前でファイルを作成します。

作業を複数回行うのであればバッチファイルにすればいいのではないでしょうか。

コマンドプロンプトはスタート→ファイル名を指定して実行→「cmd」と入力で起動します。

id:ion10

ありがとうございます

2007/07/06 21:21:31
id:solunaris149 No.3

solunaris149回答回数100ベストアンサー獲得回数42007/07/06 19:56:12ここでベストアンサー

ポイント26pt

Windowsと仮定しますが、コマンドプロンプト上で

typeコマンドとbatファイルを利用すれば良いと思います。

dir > file_all.txt としてファイル名のリストを

テキストに書き出し、必要なファイル名以外を削除します。

エディタ等で file_all.txtを編集し batファイルを作成します。(例、file_all.bat)

1.パスを考慮し、10個程度ずつまとめたファイルを生成する記述をします。

type file01.csv + file02.csv + file03.csv + file04.csv + file05.csv + file06.csv + file07.csv + file08.csv + file09.csv + file10.csv > file_01-10.csv

2.行を変えて、同様に必要なファイル数だけ書き加えます。

type file11.csv + file12.csv + file13.csv + file14.csv + file15.csv + file16.csv + file17.csv + file18.csv + file19.csv + file20.csv > file_11-20.csv

3.最終的に一つに統合するため以下を記載します。

type file_01-10.csv + file_11-20.csv + file_21-30.csv + file_31-40.csv + file_41-50.csv > file_all.csv

4.中間ファイルを削除する記述を加えます。

del file_01-10.csv

del file_11-20.csv

del file_21-30.csv

del file_31-40.csv

del file_41-50.csv

5.上記で作成したbatファイルを実行すると結合が可能です。

エディタが面倒でなければマクロを組まなくても済みそうです。

もっと良さげなやり方もありますが…。

id:ion10

ご丁寧にありがとうございますm(__)m

2007/07/06 21:22:44
  • id:airplant
    こういう作業はコマンドプロンプトで1行でやっています。参考まで。

    for %f in (*.csv) do type %f >> all.txt
  • id:ion10
    ありがとうございます。

    しかしコマンドプロントを使ったことがなくて・・・。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません