フリーランス 技術調査ブログ

フリーランス/エンジニア Ruby Python Nodejs Vuejs React Dockerなどの調査技術調査の備忘録

django/pandasでCSVファイルを結合する

インストール

  • django-pandasというパッケージもあるが普通にpandasをインストールして使う。
pip install pandas

CSVファイルのサンプル

  • 下記の2つのCSVファイルをfilenameをキーに結合する
itemid itemname filename
4 商品1 hoge600444hgea0a9dad15a.png
5 商品2 hoge600a22222hoge30.png
6 商品3 hoge6dsa33300a0ae73178e.png
filename size
hoge600444hgea0a9dad15a.png 111282
hoge600a22222hoge30.png 69672
hoge6dsa33300a0ae73178e.png 95212

サンプルコード

  • encoding="cp932"を指定することでCSVファイルが日本語入っていても文字化けしない
  • on="filename"で結合するためのキーを指定する
  • to_csvメソッドで結合したファイルを出力する
from django.shortcuts import render
import pandas as pd

def index(request):
    item_list = pd.read_csv('/code/demo/scraping/item_list.csv',encoding="cp932")
    item_image_list = pd.read_csv('/code/demo/scraping/item_image_list.csv',encoding="cp932")
    items = pd.merge(item_list, item_image_list, on="filename")
    items.to_csv("items.csv", encoding="cp932")