PythonからCSVファイルを作成→書き込む→読み込む方法

python

PythonでCSVファイルを作成する方法を紹介します。

PythonでCSVファイル作成&書き込む

さっそくCSVモジュールを使用してCSVファイルを作成してみましょう。

下記のコードでは、CSVモジュールをインポートし、test.csvというファイルを作成しています。

さらに、csvファイルの中にNameとScoreというヘッダーを用意して、それぞれに名前とその人のスコアを入力するというコードを書いてみます。

import csv
with open('test.csv', 'w') as csv_file:
    fieldnames = ['Name', 'Score']
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({'Name': 'Mike', 'Score': 90})
    writer.writerow({'Name': 'Bob', 'Score': 95})

コードを実行すると、この段階でディレクトリにtest.csvというファイルが作成されます。

Name,Score
Mike,90
Bob,95

CSVファイルを開くと、値が反映されています。

PythonでCSVファイルを読み込む

次に先ほど作成したCSVファイルを読み込む方法を紹介します。

先ほどの操作でtest.csvというファイルが作成されていると仮定します。

  • ‘w’⇨’r’
  • DictWriter⇨DictReader

変更点は主に上記二つ。直感的で分かりやすいですね。

なお、CSVファイル内の値はforループで展開することができます。

import csv

# CSVファイルを作成⇨書き込む
with open('test.csv', 'w') as csv_file:
    fieldnames = ['Name', 'Score']
    writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({'Name': 'Mike', 'Score': 90})
    writer.writerow({'Name': 'Bob', 'Score': 95})

# CSVファイルを読み込む
with open('test.csv', 'r') as csv_file:
    reader = csv.DictReader(csv_file)
    for row in reader:
        print(row['Name'], row['Score'])

Mike 90
Bob 95


カテゴリー