トップページデータ処理CSV ファイル,Excel ファイル,JSON ファイルCSV ファイルの処理,Excel ファイルを CSV ファイルに変換,CSV ファイルから SQL テーブル定義と INSERT 文を生成(csvkit を使用)

CSV ファイルの処理,Excel ファイルを CSV ファイルに変換,CSV ファイルから SQL テーブル定義と INSERT 文を生成(csvkit を使用)

csvkit のドキュメント: https://csvkit.readthedocs.io

1. 前準備

Python の準備

Python プログラムを動かすために, Windows では「python」, Ubuntu では「python3」などのコマンドを使う.

あるいは, 開発環境や Python コンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripter など)の利用も便利である.

あるいは,オンラインで動くGoogle Colaboratory のノートブックの利用も,場合によっては便利である.

Google Colaboratory のノートブックを使うか, 自分のパソコンで Python を動かすなどがありえる.

(1) (Google Colaboratory を使う場合Google Colaboratory のノートブックの準備

Google Colaboratory のノートブックを新規作成を行う.

  1. Google Colaboratory のWebページを開く

    https://colab.research.google.com

    Google Colab はオンラインの Python 開発環境. 使用するには Google アカウントが必要

  2. ファイル」で、「ノートブックを新規作成」を選ぶ

    [image]
  3. Google アカウントでのログインが求められたときはログインする

    [image]

    [image]

(2) (自分のパソコンで Python を動かす場合)Python の準備

Python のインストール: 別ページで説明している.,pip と setuptools の更新,Python 開発環境

Python の URL: http://www.python.org/

【Python, pip の使い方】

Python, pip は,次のコマンドで起動できる.

Python 開発環境のインストール】

Python の pandas, csvkit のインストール

2. CSV ファイルの処理

3. Excel の xlsx ファイルを CSV ファイルに変換 (in2csv)

  1. 前準備として Excel の xlsx ファイルを準備

    ここでは,csvkit に同封されているデータファイルである ne_1033_data.xlsxを, 次の URL からダウンロードして使用. https://github.com/wireservice/csvkit/tree/master/examples/realdata

  2. in2csv ne_1033_data.xlsx > ne_1033_data.csv
    

    [image]

4. CSV ファイルから JSON ファイルを生成 (csvjson)

  1. 前準備として CSV ファイルを準備

    ここでは,次のURLから ks_1033_data.csvをダウンロードして使用. https://github.com/wireservice/csvkit/tree/master/examples/realdata

  2. csvjson ks_1033_data.csv > ks_1033_data.json
    

    [image]

5. CSV ファイルから,テーブル定義(SQL コマンド)を生成 (csvsql)

  1. 前準備として CSV ファイルを準備

    ここでは,次のURLから ks_1033_data.csvをダウンロードして使用. https://github.com/wireservice/csvkit/tree/master/examples/realdata

  2. テーブル定義の生成
    csvsql ks_1033_data.csv > ks_1033_data.sql
    

    [image]
  3. テーブル定義,SQL の INSERT 文の生成
    csvsql ks_1033_data.csv > ks_1033_data.sql
    csvsql --query "select * from ks_1033_data;" --insert ks_1033_data.csv > ks_1033_data.sql
    

    [image]