0
1

More than 1 year has passed since last update.

Pythonで初めてPandas使ってstripeの商品csvをdbに取り込んでみた

Posted at

tl;dr

  • csvの取り込みはPythonに組み込みモジュールが用意されている
  • Pandasを使うと、より柔軟にデータを取り込み、加工できるためメリットが多い。
    • headerの取り込みが容易となる
    • 数値と文字列が混在しているデータを柔軟に処理できる
    • C言語にて作られているため高速

What I did?

今回はstripeに登録した商品付フィードcsvを、sqlite3のDBに取り込んだ。
stripeには商品フィードと価格フィードの2つがあるため、それぞれproducts.csv, prices.csvとなっている。別々のテーブルにする必要を感じなかったため、mergeして一つのデータとしています。データは Pandas.to_sql

csv_to_db_py
def add_data():
    conn = sqlite3.connect('products.db', isolation_level=None)

    df_product = pd.read_csv('csv/products.csv', usecols=[0, 1, 4])
    df_price = pd.read_csv('csv/prices.csv', usecols=[0, 1, 7, 8])

    # csvデータ2つをmrge
    df = df_product.merge(df_price, how='inner', left_on='id', right_on='Product ID')

    #delete duplicated column
    df = df.drop(columns=['id'])

    #Pandas to_sql
    df.to_sql(name='products', con=conn, if_exists='replace', index=False)
    conn.close()

Ref.

Pandas read.csv
https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1