##はじめに
データ管理で下図のように、商品No.の検索から別シートにある情報を転記できたらいいのになと思った。
数が少ないうちはコピペなどで入力したらいいけど、データ数が膨大になったらめんどくさいのでpythonで自動化できないか試してみた。
##環境(Colabratory)
windows 10
Python 3.7.10
pandas 1.1.5
##内容
#データの読み込み
import pandas as pd
import numpy as np
from google.colab import files
files.upload()
df = pd.read_csv('/content/dict.csv',encoding='SHIFT-JIS',index_col=0)
df.head()
#辞書型に変更
d_records = df.to_dict('index')
d_records
#選ぶインデックスのリスト
selects = [3,4,5,4,5,2,10,15]
#空のリスト
l_data = []
#ループを回して値を取得し、リストに入れていく
for i in range(0,len(selects)):
select = selects[i]
data = d_records[select]
l_d = list(data.values())
l_data.append(l_d)
#リストをデータフレーム化
files_df = pd.DataFrame(l_data,columns=['code','number'])
#選んだインデックスと選ばれたデータを結合して保存
selects = pd.DataFrame(selects)
c_df = pd.concat((selects,files_df),axis=1)
c_df.to_csv('tenki.csv', encoding='shift_jis')
想定しているものはできた。体裁は適宜自分でそろえる必要がありそう。
##まとめ
今回は試しのためデータ数を少なくしているが、多くなってくるとより便利に使えそう。
データは下記にアップ。
https://github.com/dem-kk/File/tree/main/dict
##参考
https://techacademy.jp/magazine/15639
https://www.delftstack.com/ja/howto/python/python-convert-dictionary-to-list/