簡體   English   中英

將 sqlalchemy 查詢結果轉換為字典列表

[英]convert sqlalchemy query result to a list of dicts

我想將我的查詢結果轉換為這樣的字典列表:

result_dict = [{'category': 'failure', 'week': '1209', 'stat': 'tdc_ok', 'severityDue': '2_critic'}, {'category': 'failure', 'week': '1210', 'stat': 'tdc_nok', 'severityDue': '2_critic'}]

但相反,我把它當作一個字典,因此有重復的鍵:

result_dict = {'category': 'failure', 'week': '1209', 'stat': 'tdc_ok', 'severityDue': '2_critic', 'category': 'failure', 'week': '1210', 'stat': 'tdc_nok', 'severityDue': '2_critic'}

我通過這樣做得到這個結果:

for u in my_query.all():
     result_dict = u.__dict__

如何將 sqlAlchemy 查詢結果轉換為字典列表(每一行都是字典)?

請幫助

嘗試

result_dict = [u.__dict__ for u in my_query.all()]

除了在for循環之前你的result_dict的類型是什么? 它的行為相當奇怪。

沒有.all()

你可以試試:

result_dict = [u.__dict__ for u in my_query.fetchall()]

這現在有效

result_dict = [u._asdict() for u in my_query.all()]

原因是你實際上不是一個元組,而是一個 KeyedTuple。

線程上的正確答案也會有所幫助

不確定這是否是因為自原始帖子以來已經過去了幾年,但以下內容對我有用(其他人沒有)......

result_dict = [dict(u) for u in my_query.fetchall()]

我在核心工作,而不是 ORM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM