gviz_api を使用してテーブルを作成しました。テーブルには、文字列値と数値で構成される列が含まれています。API は、列がレンダリングされる順序を自動的に選択します。ただし、説明を提供するのと同じ順序でレンダリングを実行したいと考えています。
テーブルを作成するために、ディクショナリである説明と、各行のディクショナリのリストであるデータを渡しました。説明は辞書なので順序は明示的ではなく、ランダムに選択できると思います。説明またはその他の方法で指定した列の順序を使用するように API を強制する方法はありますか?
私が持っている説明とデータコードの例は次のとおりです。
descr = {'field1': ('string', 'Field1'),
'field2': ('number', 'Field2'),
'field3': ('string', 'Field3'),
'field4': ('string', 'Field3')}
data = [{'field1': 'value1-1', 'field2': value1-2, 'field3': 'value1-3', 'field4': 'value1-4},
{'field1': 'value2-1', 'field2': value2-2, 'field3': 'value2-3', 'field4': 'value2-4}]
data_table = gviz_api.DataTable(description)
data_table.LoadData(data)
code = data_table.ToJSCode(stats_type_name + '_data')
実際にレンダリングされる順序は次のとおりです。
field3 field2 field1 field4
value1-3 value1-2 value1-1 value1-4
value2-3 value2-2 value2-1 value2-4
表示する順序は、説明で指定したものと同じです。
field1 field2 field3 field4
value1-1 value1-2 value1-3 value1-4
value2-1 value2-2 value2-3 value2-4