
まだ不慣れなpython で、色々と感覚が掴めなず、色々つまづきを記録しています。今回は、pandasで読み込んだcsvは見た目的にデータベースのテーブルと同じに見えるのですが、ん?だったら配列をどうやって横からくっつけるんだ?というところで詰まったので、調査結果をメモしておきます。
list側の配列のフォーマットをpandas側にあわせてくっつける
csvファイルの中身は以下のとおり。
1,猫,neko
2,犬,inu
3,魚,sakana
4,狐,kitsune
このcsvの中身に対し、英語とひらがながセットされた以下の配列をくっつけてみます。
#以下の配列を横結合でくっつける。
[["cat","ねこ"],
["dog","いぬ"],
["fish","さかな"],
["fox","きつね"]]
上記のlistの配列をpandasのDataFrameにするには、同様にDataFrameに変換することで、pandasのconcatが使えるようになります。
以下、実行
import pandas as pd
base_data=pd.read_csv("./test.csv")
english_data=[["cat","ねこ"],["dog","いぬ"],["fish","さかな"],["fox","きつね"]]
#DataFrameに変換し、pandas.concatを実行することでくっつく。axis=1で横結合という意味らしい
pd.concat([base_data,pd.DataFrame(english_data)],axis=1)
実行結果は以下。
ちゃんとくっつきました。よかった。
これで作っついたデータをmysqlに入れたり、csvに吐き出したりできますね。