バッチファイルを使用して、複数のCSVファイル[同じディレクトリ]を1つにマージすることは可能ですか?もしそうなら、どうすればこれを行うことができますか?
それはどのASCIIファイルにも当てはまると思いますか?
copy *.csv merged.csv
または
copy file1+file2+… merged.csv
ヘッダーの重複を回避するより洗練されたスクリプトについては、 バッチ結合CSVヘッダーの削除 を参照してください。
どの行がどのファイルから来たのか知りたい場合があります。使用するだけなら
コピー* .csv merged.csv
どの行がどのファイルからのものかを知る方法がなく、ファイルが次々に貼り付けられます。
解決策には、grep.exeユーティリティの使用が含まれます。次のような場所から入手できます: http://gnuwin32.sourceforge.net/packages/grep.htm
それを取得したら(そしてその場所をPATHに追加したら)、csvファイルがあるフォルダーに移動し、コマンドシェルでこれを実行します。
grep -e ^ a * $ * .csv> t.txt
その結果、すべてのファイルがt.txtに追加され、ファイル名が各行の先頭に追加され、ファイルのテキストから「:」で区切られます。
例:
file1.csv
this、line
から
ファイル、1
file2.csv
this、line
から
ファイル、2
grepコマンドを実行すると、t.txtには次のようになります。
file1.csv:this、line
file1.csv:is、from
file1.csv:file、1
file2.csv:this、line
file2.csv:is、from
file2.csv:file、2
T.txt .t.csvを変更し、Excelで開きます。次のステップは、最初の列を取得し、区切り文字として「:」を使用して2つの列に分割することです(データ->列へのテキスト->区切り文字で「その他」を選択し、フィールドに「:」を入力します)。
注意してください!列Aと列Bの間に新しい列を追加して、列Aが2つの列に分割されたときに、列Bの内容が上書きされないようにします。
最初のcsvフィールドのテキストに「:」が含まれている場合、列Aが3つ以上の列に分割されるため、これは少し難しくなることに注意してください。
また、重複ヘッダーに関するコメントもここにあります。