ホームページ  >  記事  >  バックエンド開発  >  既存の値を保持したまま CSV ファイルに新しい列を追加するにはどうすればよいですか?

既存の値を保持したまま CSV ファイルに新しい列を追加するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-21 21:12:02302ブラウズ

How to Add a New Column to a CSV File Preserving Existing Values?

CSV ファイルへの新しい列の追加

この記事では、複数の CSV ファイルに新しい列を追加する問題について説明します。 「名前」と「コード」というラベルの付いた 2 つの既存の列を含む形式です。望ましい出力は、「Berry」という名前の 3 番目の列を追加し、その値に「Name」値を入力することです。

csv ライブラリを使用した最初の Python スクリプトは、各行に「Berry」値を追加しようとしました。しかし、新しい列にのみ「Berry」値が設定されるというエラーが発生しました。

解決策

回答セクションに示されている推奨コードは、包括的な解決策を提供します。

  • 入力 CSV ファイルから最初の行を読み取り、ヘッダー「berry」を追加します。
  • 残りの行を繰り返し、最初の値 (名前) を各行に追加します。 row.
  • 変更されたすべての行を出力 CSV ファイルに書き込みます。

実装

これは、提供されたソリューション:

<code class="python">import csv

with open('input.csv', 'r') as infile, open('output.csv', 'w') as outfile:
    reader = csv.reader(infile)
    header = next(reader)
    header.append('Berry')
    writer = csv.writer(outfile)
    writer.writerow(header)

    for row in reader:
        row.append(row[0])
        writer.writerow(row)</code>

このスクリプトは、新しい "Berry" 列を各行に正常に追加し、対応する "Name" 値を設定します。

追加の考慮事項

  • Python の CSV ライブラリのデフォルトの行終端文字は「rn」であるため、出力ファイルにダブルスペースが発生する可能性があることに注意してください。別の行終端記号を指定するには、CSV ファイルの書き込み中に lineterminator パラメーターを使用します。
  • リストを使用して変更されたすべての行を保存し、writerows を使用して 1 回の操作でそれらを書き込むことを検討してください。この方法は、大きなファイルの場合により効率的です。
  • 次の例に示すように、with ステートメントは 1 行で複数のファイルに使用できます。

    <code class="python">with open('input.csv', 'r') as infile, open('output.csv', 'w') as outfile:
      # file operations</code>

以上が既存の値を保持したまま CSV ファイルに新しい列を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。