Exemplo n.º 1
0
    def table_combi(self, sites, out_key):
        """
        self.dataをcombi用のtableに整形
        POSCARでのcombiの元素位置をsiteに指定
        __str__()でx:site[0], y:site[1]の元素でtableが出力
        """
        data_list = self.separate_data('elements', sites[1])
        tmp_table = []

        tmp_key = [x[sites[0]] for x in self['elements']]
        keys = sorted(set(tmp_key), key=tmp_key.index)

        for data in data_list:
            add_dict = {out_key: data.data[1]['elements'][sites[1]]}
            add_dict.update({x['elements'][sites[0]]: x[out_key]
                             for x in data.data})
            tmp_table.append(add_dict)
        table = DataBox(tmp_table)
        table.output_keys = [out_key] + keys
        return table