def write_data(self, file_descr):
"""
Format data from self.data_df, write into file_descr (opened with opener).
"""
columns = self.data_df.columns
col0 = columns[0] # First column title (usually Database)
col1 = columns[1] # Second column title (usually Collection or Table)
tmpl_variables = OrderedDict()
for db in self.data_df[col0].unique():
tmpl_variables[db] = OrderedDict()
df_db = self.data_df.query('{} == @db'.format(col0)).iloc[:, 1:]
for col in df_db[col1].unique():
df_col = df_db.query('{} == @col'.format(col1)).iloc[:, 1:]
tmpl_variables[db][col] = df_col.values.tolist()
tmpl_filename = os.path.join(os.path.dirname(os.path.dirname(__file__)),
'resources', 'data_dict.tmpl')
with open(tmpl_filename) as tmpl_fd:
tmpl = jinja2.Template(tmpl_fd.read())
file_descr.write(tmpl.render(col_titles=list(self.data_df)[2:],
data=tmpl_variables))
评论列表
文章目录