こんにちは、同様の質問があるようですが、ポイントはもとのファイル名の情報を、統合後のファイルに盛り込みたい、という点です。
複数のCSVファイルがあり、これを一つのファイル、もちろんエクセルでもOK、に一括統合したいです。いろいろなソフトがあるようですが、私が当ったところでは、ファイル名に関する情報を盛り込めず、ひたすら元のcsvデータが順次羅列されているという具合です。ファイル統合後も、もとの○○のデータがどの位置にあるかが分からないと厄介でして、なんとかご教示頂けますと幸いです。できればフリーソフトがあると幸いなのですが・・・。
プログラミング的素養がないため、マクロなどでしたら、初心者向けの説明でお願いできればと思います。
csvファイルが200程あり、全部コピペという訳にもいかず、焦っております。何卒よろしくお願いします。
No.3ベストアンサー
- 回答日時:
エクセルに取り込む方法が紹介されているので、ひとつのファイルにまとめるスクリプトを書いてみました。
200のファイルが同じフォルダにあること前提で書いてます。
VBAでもいいのですが、200ファイルもあると2003以前のExcelではおさまらない可能性もあるので、VBスクリプトで書いてます。
以下のコードをテキストファイルにコピーし、適当な名前.vbsで保存します。
保存したvbsファイルをcsvが置いてあるフォルダにコピーし、実行します。
すると、そのフォルダに結合.txtができます。
結合.txtの中身は
csvファイルフルパス,csvファイルの行番号,csvファイルの中身
・
・
となります。
こんな感じでどうでしょうか
'----ここからコード
Option Explicit
Dim strScriptPath
Dim fso
Dim Folder
Dim FileName
Dim objRE
Dim OutTxt
Dim ReadCsv
Dim OutTmp
Dim LineNum
'スクリプト名を含まないフルパスを編集する
strScriptPath = Replace(WScript.ScriptFullName,WScript.ScriptName,"")
Set fso = CreateObject("Scripting.FileSystemObject")
'対象フォルダの指定
Set Folder = fso.GetFolder(strScriptPath)
'新規に作成するファイル
Set OutTxt = fso.CreateTextFile(strScriptPath & "結合.txt")
Set objRE = CreateObject("VBScript.RegExp")
'検索条件の設定
objRE.Pattern = "\.CSV$"
'指定のフォルダに格納された各ファイルを処理する
For Each FileName In Folder.Files
'大文字化して比較する。拡張子がcsvなら1行ずつ読み込んで、
'処理中のファイルパスと行番号をいれつつ結合.txtに書き込む
If objRE.Test(Ucase(FileName)) Then
LineNum = 1
Set ReadCsv = fso.OpenTextFile(FileName)
Do Until ReadCsv.AtEndOfStream = True
OutTmp = FileName & "," & LineNum & "," & ReadCsv.ReadLine()
OutTxt.WriteLine(OutTmp)
LineNum = LineNum + 1
Loop
ReadCsv.Close()
End if
Next
OutTxt.Close()
set fso = Nothing
set Folder = Nothing
set objRE = Nothing
'----ここまで
No.4
- 回答日時:
文字列置換系のコマンドラインツールを使ったバッチファイルでも処理出来そうです。
まずはツールです。そのままスバリなネーミングの「文字列置換」を入手して下さい。(作者:星野 香奈 様)
http://www.vector.co.jp/soft/win95/util/se271454 …
解凍後のchikan.exeを使用します。
次にメモ帳などでバッチファイルを作成して下さい。
仮に名前をcsvadd.batとします。
内容は次の4行です。
dir *.csv /b > csv.lst
for /F %%i in (csv.lst) do chikan %%i /r/n ,%%i/r/n
del csv.lst
copy *.csv all.csv
この内容は、
1行目でディレクトリ内にあるcsvファイル名を取得してリスト化
2行目でリストに基づき改行コードを元ファイル名+改行に置換
3行目で先程生成したリストを削除
4行目でcsvファイルの一本化
という流れです。
後はcsvadd.batとchikan.exeを、200個のcsvファイルがあるフォルダに置いて、csvadd.batを実行します。
すると、excelで開くと最終列に○○.csvという元のcsvファイル名が各行に入っている、全てのcsvが統合されたall.csvが生成されます。
No.2
- 回答日時:
一つずつ手作業になりますが、テキストファイルウィザードを使って
CSVファイルをインポートすればCSVファイル名がシートのタブに
入ります。
一つにまとめるとシートが200のxlsファイルになるので目次ページ
を作ってシートへのリンクを張るか、1ファイル20位にシートを
分割するといいと思います。
参考URL:http://enterprisezine.jp/article/detail/675
No.1
- 回答日時:
手作業になりますが、普通に考えるとこうなると思います。
csvファイルをダブルクリップするとExcelが起動してcsvファイル名のシートで開きます。
シートのコピーまたは移動で保存用のExcelにシートごと移動すれば、csvがシートごとに分けられた1本のxlsファイルができます。
1ファイル200シートになってしまいますが‥‥。
1シートに統合しなければいけないのであれば、左端(または右端)にcsvファイル名のカラムを追加してあとで区別できるようにするしか無いでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
あるあるbotに投稿したけど採用されなかったあるある募集
あるあるbotに投稿したけど採用されなかったあるあるをこちらに投稿してください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
コマンドプロンプトでのCSVファイルの結合
その他(プログラミング・Web制作)
-
コマンドプロンプトでファイル名に含まれるスペースを別の文字に置換したい
その他(プログラミング・Web制作)
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAについて とある...
-
Python CSVファイルについて
-
アクセスと同フォルダのCSVファ...
-
コマンドによるzip圧縮
-
フォルダに入っているCSVファイ...
-
複数エクセルファイルの合成
-
FTPコマンド mgetでとまってし...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
バッチでテキストファイルから...
-
.txtではなく.logの方が良いの...
-
ftp処理でmove(移動)を行いたい
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
VBAでワークシートを引数として...
-
バッチファイルで昨日の日付を取得
-
テキストファイルで提出とは?
-
exeファイルを実行するとコマン...
-
.NETアプリを作ったときの .man...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのVBAについて とある...
-
複数エクセルファイルの合成
-
Python CSVファイルについて
-
アクセスと同フォルダのCSVファ...
-
【Rコマンダー】データインポー...
-
FTPコマンド mgetでとまってし...
-
複数のcsvファイルを統合、でも...
-
エクセル 指定範囲をCSV出力
-
コマンドによるzip圧縮
-
csv形式からbmpを作成
-
MAC フォルダ内のPDF件数とペー...
-
yahooカレンダーのデータをICS...
-
EXCEL マクロが正常に動かなく...
-
マクロでA1のデータをB列の行数...
-
csvファイルを結合するバッ...
-
バッチ処理でcsvファイルの文字...
-
エクセルマクロ2003による、複...
-
ファイルパスの指定の仕方がわ...
-
エクセルマクロ、複数のCSVファ...
-
Windows3.1または、MS-DOSでCSV...
おすすめ情報