Table.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:LTTL 作者: axanthos 项目源码 文件源码
def to_flat(self, progress_callback=None):
        """Return a copy of the crosstab in 'flat' format"""
        new_col_ids = list([c for c in self.col_ids if c != '__weight__'])
        new_col_type = dict(self.col_type)
        del new_col_type['__weight__']
        row_counter = 1
        new_values = dict()
        new_row_ids = list()
        if len(self.col_ids) > 1:
            first_col_id = self.col_ids[0]
            second_col_id = self.col_ids[1]
            for row_id in self.row_ids:
                count = self.values[(row_id, '__weight__')]
                first_col_value = self.values[row_id, first_col_id]
                second_col_value = self.values[row_id, second_col_id]
                for i in xrange(count):
                    new_row_id = text(row_counter)
                    new_row_ids.append(new_row_id)
                    new_values[(new_row_id, first_col_id)] = first_col_value
                    new_values[(new_row_id, second_col_id)] = second_col_value
                    row_counter += 1
                if progress_callback:
                    progress_callback()
        else:
            col_id = self.col_ids[0]
            for row_id in self.row_ids:
                count = self.values[(row_id, '__weight__')]
                col_value = self.values[row_id, col_id]
                for i in xrange(count):
                    new_row_id = text(row_counter)
                    new_row_ids.append(new_row_id)
                    new_values[(new_row_id, col_id)] = col_value
                    row_counter += 1
                if progress_callback:
                    progress_callback()
        return (
            FlatCrosstab(
                new_row_ids,
                new_col_ids,
                new_values,
                self.header_row_id,
                self.header_row_type,
                self.header_col_id,
                self.header_col_type,
                new_col_type,
                None,
                self.missing,
                self._cached_row_id,
            )
        )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号