人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

●質問者: ion10
●カテゴリ:コンピュータ
✍キーワード:CSV いもの アクセス エクセル データ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● きゃづみぃ
●27ポイント

エクセルなら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

◎質問者からの返答

ありがとうございます


2 ● Kotobuki_F
●27ポイント

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

コマンドプロンプトで

copy file1.csv + file2.csv new.csv

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

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

◎質問者からの返答

ふむふむ


3 ● KazyN
●26ポイント

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

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

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

みたいな感じ。

◎質問者からの返答

ふむふむ

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ