こんなのを
[ { 'ika': 100, 'uni': 200, 'toro': 300 }, { 'ika': 200, 'uni': 300, 'toro': 400 } ]
こんなのにする
[ [ 100, 200, 300], [ 200, 300, 400] ]
順番は ika, uni, toro にする。そしてこの多次元配列を csv モジュールに任せる作業をしたいです。
書いてみる
# -*- coding: utf-8 -*- sales = [ { 'ika': 100, 'uni': 200, 'toro': 300 }, { 'ika': 200, 'uni': 300, 'toro': 400 } ] keys = ['ika', 'uni', 'toro'] rows = [] for sale in sales: columns = [] for key in keys: columns.append(sale[key]) rows.append(columns) print(rows)
内包表記
# -*- coding: utf-8 -*- sales = [ { 'ika': 100, 'uni': 200, 'toro': 300 }, { 'ika': 200, 'uni': 300, 'toro': 400 } ] keys = ['ika', 'uni', 'toro'] rows = [] for sale in sales: rows.append( [sale[key] for key in keys] ) print(rows)
もっと内包表記
# -*- coding: utf-8 -*- sales = [ { 'ika': 100, 'uni': 200, 'toro': 300 }, { 'ika': 200, 'uni': 300, 'toro': 400 } ] keys = ['ika', 'uni', 'toro'] rows = [[sale[key] for key in keys] for sale in sales] print(rows)
うーん。なんかもっといい書き方ないかなあ。jq かしら。