PythonスクリプトからMySQLのDBにCSVのデータを挿入しよう
今回はPythonスクリプトでCSV(Comma Separated Values/カンマ区切り値列)ファイルを読み込み、MySQLのDBにデータを挿入してみましょう。
CSVファイルの読み込みには、CSVモジュールを使います。
CSVモジュールのインポート
CSVモジュールのインポートは、以下の通りです。
import csv
CSVファイルの読み込み
CSVファイルの読み込みは、reader()関数を使います。
ファイルオブジェクト名は、open()関数で作成したオブジェクトです。
なお、open()関数の詳細は、こちらの記事を参照してください。
csv.reader("ファイルオブジェクト名", オプション)
csv.reader()関数のオプションには、以下の種類があります。
オプション名 | 内容 |
delimiter | フィールド間を分割するのに用いられる文字。デフォルトはカンマ(',') |
doublequote | フィールド内に現れたクォート文字がその文字自身の場合、どのようにクォートするかを指定。Trueの場合、文字は二重化される。Falseの場合、エスケープ文字はクォート文字の前に置かれる。デフォルトはTrue |
escapechar | エスケープ文字は、それに続く文字の特別な意味を取り除きます。デフォルトはNoneで、エスケープは行わない |
quotechar | delimiterやquotecharといった特殊文字を含むか、改行文字を含むフィールドをクォートする際に用いられる文字。デフォルトはダブルクォーテーション('"') |
skipinitialspace | Trueの場合、delimiterの直後に続く空白は無視される。デフォルトはFalse |
strict | Trueの場合、不正なCSV入力に対してエラーを送出する。デフォルトはFalse |
CSVファイルを読み込んでデータを挿入するプログラム
CSVファイルを読み込んで、MySQLのDBにデータを挿入するプログラムは、以下のようになります。
データを挿入するテーブルは、第7回の記事で作成したものを使います。
今回使ったCSVファイルは、以下の通りです。
前回作成したプログラムでテーブルの内容を確認すると、以下のようになります。