
こんにちは、同様の質問があるようですが、ポイントはもとのファイル名の情報を、統合後のファイルに盛り込みたい、という点です。
複数の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で質問しましょう!
似たような質問が見つかりました
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Visual Basic(VBA) 複数ブックの統合について Excel VBA 1 2022/05/13 09:48
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのVBAについて とある...
-
複数エクセルファイルの合成
-
複数のcsvファイルを統合、でも...
-
複数のCSVファイルを読み込んで...
-
【Rコマンダー】データインポー...
-
FTPコマンド mgetでとまってし...
-
エクセル 指定範囲をCSV出力
-
大量のフォルダからひとつのフ...
-
バッチでテキストファイルから...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
バッチファイルでサーバーのフ...
-
[teraterm] waitコマンドで停止...
-
バッチ処理でファイルの中身を...
-
リンクの張り付けかたを教えて...
-
エクセル フォルダの画像を画...
-
Chrome HTML Document (.html)...
-
特定フォルダ内のファイルを自...
-
echoの出力の最後のスペースを...
-
バッチ終了時にDOS窓を閉じるコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのVBAについて とある...
-
複数エクセルファイルの合成
-
Python CSVファイルについて
-
アクセスと同フォルダのCSVファ...
-
複数のcsvファイルを統合、でも...
-
FTPコマンド mgetでとまってし...
-
【Rコマンダー】データインポー...
-
エクセル 指定範囲をCSV出力
-
MAC フォルダ内のPDF件数とペー...
-
csvファイルを結合するバッ...
-
csvファイルを統合する方法を教...
-
エクセルマクロ、複数のCSVファ...
-
コマンドによるzip圧縮
-
複数のCSVファイルを読み込んで...
-
csv形式からbmpを作成
-
ExcelVBAでCSVファイル上書き後...
-
EXCEL マクロが正常に動かなく...
-
excelでMac(-)⇒Win(?)文字化け...
-
複数のCSVファイルを1つのファ...
-
yahooカレンダーのデータをICS...
おすすめ情報