始める無料で始める

CSV をテーブルに読み込む

これまでテーブルへのデータ挿入はとても順調です!ここでは、CSV ファイルの中身をテーブルに読み込む方法を学びます。

一つの方法は、CSV ファイルを1行ずつ読み込み、各行から辞書を作って、前の演習で行ったように insert() を使うやり方です。

しかし、pandas を使えばもっと速くできます。read_csv() 関数を使って CSV ファイルを DataFrame に読み込めます(この関数はおなじみだと思いますが、復習したい場合はコンソールで help(pd.read_csv) を実行して確認できます)。その後、DataFrame に対して .to_sql()docs)メソッドを呼び出すと、データベース内の SQL テーブルへ書き込めます。DataFrame の列は SQL テーブルの列と一致している必要があります。

.to_sql() には多くの引数がありますが、この演習では次のものを使います。

  • name は SQL テーブル名(文字列)です。
  • con はデータのアップロードに使うデータベースへの接続です。
  • if_exists は、同名テーブルがすでにデータベースに存在する場合の動作を指定します。取りうる値は "fail""replace""append" です。
  • indexTrue または False)は、DataFrame のインデックスを列として書き出すかどうかを指定します。

この演習では、census.csv ファイルに含まれるデータを、既存のテーブル "census" にアップロードします。データベースへの connection はすでに作成済みです。

この演習はコースの一部です

Pythonで学ぶデータベース入門

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# import pandas
import pandas as pd

# read census.csv into a DataFrame : census_df
census_df = pd.___(___, ___=___)

# rename the columns of the census DataFrame
census_df.columns = [___, ___, ___, 'pop2000', 'pop2008']
コードを編集して実行