多くの .csv ファイルを含むディレクトリがあります。すべてのファイルの n 番目の列を列ごとに新しいファイルに抽出するにはどうすればよいですか?
例えば:
ファイル A:
111,222,333
111,222,333
ファイル B:
AAA,BBB,CCC
AAA,BBB,CCC
ファイル C:
123,456,789
456,342,122
等々...
n = 2 の場合、結果のファイルは次のようになります。
222,BBB,456,...
222,BBB,342,...
where...
は、ディレクトリ内のファイル数と同じ数の列があることを表します。
これまでの私の試み:
#!/bin/bash
for i in `find ./ -iname "*.csv"`
do
awk -F, '{ print $2}' < $i >> result.csv ## This would append row-wise, not column-wise.
done
アップデート:
2 つのファイルを結合しようとしているわけではありません。特定のディレクトリに 100 個のファイルがあり、すべてのファイルの n 列目を 1 つのファイルにコピーしたいと考えています。ファイルが 2 つしかない場合のデータのあり方を示すために、例として 2 つのファイルを示しました。
コメントで指摘されているように、2 つのファイルを結合するのは簡単ですが、複数のファイルを結合するのはそれほど簡単ではないかもしれません。これが私の質問の要点です。Pythonはこの仕事をするのに役立ちますか?