以下のコードで、「AttributeError: 'str' object has no attribute 'keys'」というエラーが list関数の部分で表示されてしまいます。
画像に現れているとおり output_dataという グローバルの変数の中身は
辞書型っぽく表示されているのですが、Type関数で型を確認すると str として表示されます。これが災いしていることは承知しているのですが 対策が分かりません。
ちなみに dict関数を当該グローバル変数にあてがうと
また別のエラー「dictionary update sequence element #0 has length 1:2 is required」を招いてしまいます。
大変申し訳ありませんが どなたか当該グローバル変数に どういった対策を施せばよいのか ご教示頂けないでしょうか?
よろしくお願いします!
Python
1def csv_Out(self, event=None): 2 if (self.btn3['state'] != 'normal'): 3 return 4 5 print(output_data) # ★ 辞書型っぽく画面に出てきてました ★ 6 print(type(output_data)) # ★ <class 'str'> と画面に出てきました★ 7 header = list(output_data[0].keys()) # 列の順番を規定 8 9 with open("output.csv", "w", newline="") as f: 10 writer = csv.DictWriter(f, fieldnames=header) 11 writer.writeheader() # ヘッダーを書き込む 12 #writer.writerows(output_data) # データを書き込む 13 writer.writerows(output_data0) 14 15 tkMB.showinfo("Result","Finished converting !", parent=self.this)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/22 08:22