[Python] 272 辞書型データをCSVファイルに変換他

辞書型データからのvalue取得、キーの任意並べ替え(valueがない場合にも対応)、データフレームとの相互変換、CSVファイルへの変換が含まれたコードです。

import pandas as pd

<中略>

df = pd.read_csv(path,header=None,encoding='shift_jis')
df2 = df.drop_duplicates(subset=[0])

# データフレームを辞書型データに変換
dict = {str(x) : str(y) for x,y in zip(df2[0],df2[1])}

# 15項目の辞書型データを作成(valueがない場合はnanを入力)
dict2 = {'馬名':dict.get('馬名','nan'),'稼働':dict.get('稼働','nan'), '性別':dict.get('性別','nan'), '毛色':dict.get('毛色','nan'), '生年月日':dict.get('生年月日','nan'), '調教師':dict.get('調教師','nan'), '馬主':dict.get('馬主','nan'),'募集情報':dict.get('募集情報','nan'),'生産者':dict.get('生産者','nan'), '産地':dict.get('産地','nan'), 'セリ取引価格':dict.get('セリ取引価格','nan'), '獲得賞金':dict.get('獲得賞金','nan'), '通算成績':dict.get('通算成績','nan'), '主な勝鞍': dict.get('主な勝鞍','nan'), '近親馬':dict.get('近親馬','nan')}

# 辞書型データをデータフレームに変換
df3 = pd.json_normalize(dict2)

# df3の行と列を転置してCSVファイルを作成(T属性を使う)
with open(path,mode="w",encoding="cp932", errors="ignore") as f:
    df3.T.to_csv(f,header=False)