プログラムを実行中に格納されている変数の値は、プログラムを終了させると消えてしまいます。
そこで便利なのがCSVファイルとして変数などの値を保存し、再利用できるようにする手法です。
この記事では、Pythonを使って文字列や配列をCSVファイルに書き込む方法を解説します。
PythonでCSVファイルを操作するためのモジュール
PythonでCSVファイルを操作するためには、標準ライブラリに含まれるcsv
モジュールを使用します。
このモジュールを使うことで、CSVファイルの読み込みや書き込みが簡単に行えます。
csvモジュール
csvモジュールの概要
csvモジュールは、Pythonの標準ライブラリに含まれるモジュールで、CSVファイルの読み込みや書き込みを行うための機能を提供しています。
CSVファイルは、Comma-Separated Values(カンマで区切られた値)の略で、データをカンマで区切って記録したテキストファイルです。
csvモジュールを使うことで、CSVファイルを簡単に操作できるようになります。
csvモジュールのインポート方法
csvモジュールを使用するには、まずPythonのプログラム内でインポートする必要があります。
以下のようにimport
文を使ってcsvモジュールをインポートします。
import csv
これで、csvモジュールの機能を使う準備が整いました。
次に、CSVファイルの読み込みや書き込みを行う方法を学びましょう。
文字列や配列をCSVファイルに書き込む方法
CSVファイルへの書き込み・出力する方法は、出力するデータが文字列か配列かによって少し異なります。
それぞれのやり方について順番に見ていきましょう。
文字列をCSVファイルに書き込む方法
文字列のCSV形式への変換
文字列をCSV形式に変換するには、カンマ,
で区切り、改行コード\n
で行を区切ります。
例えば、以下のような文字列をCSV形式に変換することができます。
text = "apple,100\norange,200\nbanana,300"
文字列をCSVファイルに書き込む手順
文字列をCSVファイルに書き込む手順は以下の通りです。
- ファイルを開く(
open() 関数
を使用) - 文字列をファイルに書き込む(
write() メソッド
を使用) - ファイルを閉じる(
close() メソッド
を使用)
text = "apple,100\norange,200\nbanana,300"
# ファイルを開く
file = open("sample.csv", "w")
# 文字列をファイルに書き込む
file.write(text)
# ファイルを閉じる
file.close()
このコードを実行すると、カレントディレクトリにsample.csv
ファイルが作成され、文字列がCSV形式で書き込まれます。
配列をCSVファイルに書き込む方法
配列をCSVファイルに書き込む場合、区切り文字(カンマ)を指定する必要があるため、単純に書き込むだけではいけません。
配列のCSV形式への変換
配列をCSV形式に変換するには、csvモジュールのcsv.writer
オブジェクトを使用します。
csv.writer
オブジェクトの writerow()
メソッドを使って、配列をCSV形式に変換できます。
import csv
data = [["apple", 100], ["orange", 200], ["banana", 300]]
csv_data = ""
for row in data:
csv_row = ",".join(map(str, row))
csv_data += csv_row + "\n"
配列をCSVファイルに書き込む手順
配列をCSVファイルに書き込む手順は以下の通りです。
- ファイルを開く(
open()
関数を使用) csv.writer
オブジェクトを作成- 配列をCSV形式に変換し、ファイルに書き込む(
writerow()
メソッドを使用) - ファイルを閉じる(
close()
メソッドを使用)
以下にサンプルコードを示します。
import csv
data = [["apple", 100], ["orange", 200], ["banana", 300]]
# ファイルを開く
with open("sample.csv", "w", newline="") as file:
# csv.writerオブジェクトを作成
writer = csv.writer(file)
# 配列をCSV形式に変換し、ファイイルに書き込む
for row in data:
writer.writerow(row)
# ファイルはwithブロックを抜けると自動的に閉じられます
このコードを実行すると、カレントディレクトリにsample.csv
ファイルが作成され、配列が書き込まれます。