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


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

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

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

回答の条件
  • 1人2回まで
  • 登録:2007/07/06 16:25:32
  • 終了:2007/07/06 17:04:34

回答(3件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982007/07/06 16:38:52

ポイント27pt

エクセルならVBAを使えば 簡単にできます。

以下のマクロを入れたエクセルファイルを保存します。

その保存したところに 結合したいCSVファイルを 置きます。

A1には 出力先のファイル名

A2、A3、A4・・・ には 結合したいCSVファイルを 順に指定します。

それで マクロを実行すればいいですよ。


Sub Macro1()

a = ThisWorkbook.Path + "\" + Range("A1")

For b = 2 To 65536

c = ThisWorkbook.Path + "\" + Range("A" & b)

If Range("A" & b) = "" Then Exit For

intF1 = FreeFile

Open c For Input As #intF1

intF2 = FreeFile

Open a For Append As #intF2

Do Until EOF(intF1)

Line Input #intF1, strREC

Print #intF2, strREC

Loop

Close #intF1

Close #intF2

Next b

End Sub

id:ion10

ありがとうございます

2007/07/06 17:03:33
id:Kotobuki_F No.2

Kotobuki_F回答回数406ベストアンサー獲得回数92007/07/06 16:53:49

ポイント27pt

http://www.relief.jp/itnote/archives/001771.php

コマンドプロンプトで

copy file1.csv + file2.csv new.csv

とやるとfile1と2を結合したnew.csvが出来ます。

50個ファイルがあるとのことなのでdirコマンドでファイル名一覧を取って,バッチファイルにすると楽かも。

id:ion10

ふむふむ

2007/07/06 17:03:57
id:KazyN No.3

KazyN回答回数352ベストアンサー獲得回数322007/07/06 16:59:07

ポイント26pt

ファイル名がすべてはっきりしているという前提でですが、コマンドプロンプトで copy コマンド使って結合してはどうでしょうか。

結合したい csv ファイルのファイル名を "+" でつないで、最後に結合させたファイル名を指定してやります。

copy 01.csv+02.csv+......+50.csv all.csv

みたいな感じ。

id:ion10

ふむふむ

2007/07/06 17:04:21
  • id:Sampo
    2番,3番でいいのですが、ファイルが大量にあるなら
    copy old*.csv new.csv
    とワイルドカード指定でも結合ができます。

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

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

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

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