PythonからCSVファイルを作成→書き込む→読み込む方法
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