【Python】既存のCSVを上書きする方法

CSVファイルはデータのやり取りや保存によく使われる形式で、Pythonを使って簡単に扱うことができます。

この記事では、CSVファイルを新しいデータで上書き保存する方法を解説します。

目次から探す

CSVファイルを新しいデータで上書き保存する方法

PythonでCSVファイルを新しいデータで上書き保存する方法を解説します。

CSVファイルは、データをカンマで区切って保存する形式で、表計算ソフトやデータベースとの連携が容易です。

新しいデータの準備

まずは、新しいデータを準備しましょう。

今回は、以下のようなデータを用意します。


new_data = [
    ["名前", "年齢", "住所"],
    ["田中太郎", "25", "東京都"],
    ["鈴木花子", "30", "神奈川県"],
    ["佐藤健二", "22", "埼玉県"]
]

このデータは、3人の名前、年齢、住所が格納されています。

CSVファイルの上書き保存

ファイルオープン

CSVファイルを上書き保存するには、まずファイルを開く必要があります。

open() 関数を使って、ファイルを開きます。

open() 関数の第1引数にはファイル名を、第2引数にはファイルのモードを指定します。

上書き保存の場合は、モードに'w'を指定します。


with open('sample.csv', 'w') as f:
    # ここでCSVファイルにデータを書き込む処理を行います

with文を使うことで、処理が終わったら自動的にファイルが閉じられます。

CSVライターの利用

次に、csvモジュールのwriterを使って、CSVファイルにデータを書き込みます。

csv.writer() 関数にファイルオブジェクトを渡すことで、CSVライターを作成できます。

CSVライターの writerow() メソッドを使って、1行ずつデータを書き込みます。


import csv
with open('sample.csv', 'w') as f:
    csv_writer = csv.writer(f)
    for row in new_data:
        csv_writer.writerow(row)

これで、sample.csvファイルが新しいデータで上書き保存されます。

上書き保存の注意点

上書き保存を行う際には、元のデータが失われることに注意してください。

元のデータを保持したい場合は、別のファイル名で保存するか、バックアップを取っておくことをおすすめします。

目次から探す