まだ不慣れな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に吐き出したりできますね。

コメント