user_idがキーでエクセルデータのを全部持つ辞書を作りたいです。
Excel は
views.pyには
def try_to_int(arg): try: return int(arg) except: return arg def main(): book3 = xlrd.open_workbook('./data/excel1.xlsx') sheet3 = book3.sheet_by_index(0) data_dict = OrderedDict() tag_list = sheet3.row_values(0)[1:] for row_index in range(1, sheet3.nrows): row = sheet3.row_values(row_index)[1:] row = list(map(try_to_int, row)) data_dict[row_index] = OrderedDict(zip(tag_list, row)) print(data_dict) main()
と書きました。print(data_dict)でdata_dict は
OrderedDict([(1, OrderedDict([('', ''), ('Ton', ''), ('0014500ab9Cd', '')])), (2, OrderedDict([('', ''), ('Tom', ''), ('0014500ab9Cd', '')])), (3, OrderedDict([('', ''), ('Tom', 'A'), ('0014500ab9Cd', '')])
と出力されました。
でもこれは理想のアプトプットではなく、本当は
dicts = { 0014500ab9Cd: { index_A:○, index_B:○, index_C:○, index_D:○, index_E:×, index_F:×, New York_A-a_under500: ○, New York_A-a_500-700: ○, ・・・・ New York_A-e_under500: ○, ・・・・ New York_C-b_upper700: ×, }, 0014500ab9Cd: { index_A:○, index_B:○, ・・・・ Chicago_A-a_under500: ○, Chicago_A-a_500-700: ○, ・・・・ }, }
という辞書が欲しいです。どのように書けば良いのでしょうか?
質問本文にマルチポストの理由を書き、他のサイトの投稿へのリンクを貼ってください:https://stackoverflow.com/questions/46147559/i-wanna-make-a-dictionary-has-user-ids-key-all-excel-data
回答1件
あなたの回答
tips
プレビュー