私はCSVファイルの束を1つのCSVファイル 'Combined'に結合します。各CSVファイルについて、データが 'Combined'ファイルに追加されると、 'Combined'の列1の前に新しい列を挿入し、その反復でデータがコピーされたCSVファイルの名前を挿入します。 Pythonでこれを行う方法はありますか?CSVファイルに列を追加し、その列にファイル名を挿入してください。
答えて
これは次のように行うことができます。まず出力用のCSVファイルを開きます。今度は、Pythonのglob
ライブラリを使用して、フォルダ内のすべてのCSVファイルを一覧表示します。 CSVファイルの行ごとに、最初の列のエントリとして、ファイル名の前に付け、その後output.csv
に書き込み:
import glob
import csv
with open('output.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
for filename in glob.glob('*.csv'):
with open(filename, newline='') as f_input:
csv_input = csv.reader(f_input)
for row in csv_input:
row.insert(0, filename)
csv_output.writerow(row)
ですから、例えば、あなたがこれらの二つのCSVファイルを持っていた場合:
num.csvを
1,2,3,4,5
1,2,3,4,5
1,2,3,4,5
それは次を作成します
a,b,c,d,e,f
a,b,c,d,e,f
a,b,c,d,e,f
a,b,c,d,e,f
letter.csvファイル:
letter.csv,a,b,c,d,e,f
letter.csv,a,b,c,d,e,f
letter.csv,a,b,c,d,e,f
letter.csv,a,b,c,d,e,f
num.csv,1,2,3,4,5
num.csv,1,2,3,4,5
num.csv,1,2,3,4,5
これは、Python 3.xを使用していることを前提としています。
素晴らしいマウンテンエヴァンス。ありがとう、トン。 Pythonには初めてのもので、これを理解するのに本当の問題がありました。私の質問への小さな変更:これらの「CSVファイル」は結合されなければならず、実際にはZIP形式のフォルダ内の.LOGファイルです。 イテレータはバイトではなく文字列を返す必要があります(テキストモードでファイルを開いたのですか?) PS:私はPython 3.xを使用していますが、私はそれを解凍する方法を知っています。 。 –
Python 3.xでは、ファイルを少し違って開く必要があります。私はそれに応じてスクリプトを更新しました。あなたのログファイルが同じフォーマットであると仮定すると、 '* .log'を使って以下のように変更してください。 –
コードはこのエラーを投げました:引数 'newline'はバイナリモードではサポートされていません。これは、 'r'が 'rb'にデフォルト設定されていることが原因であると考えられます。だから、私は 'r'を 'rt'に変更しただけで完全に動作します。ありがとう、トン! –
- 1. csv列のXmlファイルを参照して、xmlファイルに対応する列を追加してください。
- 2. using c#CSVファイルをデータベースマッピングカラムに挿入してください。
- 3. DataFrame:データフレームに列を追加し、それぞれのファイル名をその列に挿入します。
- 4. 新しい列にCSVファイル名を追加します。
- 5. Python Pandasファイル名の列を追加CSV
- 6. 2つのcsvファイルを比較し、両方に共通しない列を追加してください
- 7. ファイル名に基づいてテキストファイルに新しい列を挿入
- 8. csvファイルの列数を確認してください
- 9. 配列に追加の行を挿入してデータベースに入力してください
- 10. ドロップダウンメニューを追加して、ハイチャートのcsvファイルを選択してください
- 11. CSVファイルをSQL Serverに挿入する(インポートしないでください)
- 12. 最後の列をCSVファイルに追加
- 13. csvファイルから新しいcsvファイルに特定の列を追加する
- 14. 平均的なフォームをcsvファイルの列に入れてくださいR
- 15. CSVファイルをPythonにインポートしてnumpy配列に変換し、Sklearnアルゴリズムに入力してください。
- 16. ファイル名に基づいて新しい列とその値を追加する
- 17. Pythonを使用して既存のCSVファイルに列を追加
- 18. .txtファイルに値を挿入してください
- 19. csvファイルに基づいて文字列を変更してください
- 20. CSVファイルに列を追加する
- 21. Pandas形式のcsvファイルの名前を列に追加する
- 22. CSVファイルの先頭に新しい列を追加する
- 23. パンダ:csvファイルのデータフレームに列名を追加する方法
- 24. PHPを使用してCSVファイルに列ヘッダーを追加
- 25. ID列に値0を挿入してください。
- 26. CSVファイルに対してADコンピュータ名を確認してください
- 27. csvファイルのcで位置番号2の列を追加してください。
- 28. .csvファイル名からファイル番号をループして抽出し、列に挿入する
- 29. ルビーを使用して2列目のcsvファイルに配列を追加する
- 30. 同じcsvファイルに他のhtmlファイルの列を追加
追加するcsvファイルの形式は何ですか?列を追加していますか?または既存の列に追加されたばかりの新しいデータ? – userXktape
は、他と同じcsvファイルの形式ですか? – MattR
@userXktape:CSVファイルの形式は.LOGです。私は列を追加していません。私はちょうど最初の列にファイル名を挿入し、既存のデータのすぐ下のファイルにあるものを追加したいと思います。 –