Source code for brite_etl.core.io.export_excel

from __future__ import division, absolute_import, print_function

import os
import pandas as pd


[docs]def export_excel(frames, path, file_name='brite_etl_export.xlsx'): """Export frames/frameset as an .xlsx doc Each frame (1 if passed a frame, multiple if passed a frameset) will put placed on it's own sheet, titled using the frames display name. :param frames: Frame/Frameset to export :param path: path to place exported file in :param file_name: name of file (MUST include 'xlsx'!), defaults to 'brite_etl_export.xlsx' :type file_name: str, optional """ file_path = os.path.join(path, file_name) writer = pd.ExcelWriter(file_path, engine='xlsxwriter') if (type(frames).__name__ is 'DataFrame'): frames.to_excel(writer, index=False) elif(type(frames).__name__ is 'FrameSet'): _frames = frames.frames for name, frame in _frames.iteritems(): if name == 'prepared': _frames = _frames.get('prepared') for name, frame in _frames.iteritems(): frame.df.to_excel(writer, sheet_name=frame.config.get('display_name'), index=False) else: frame.df.to_excel(writer, sheet_name=frame.config.get('display_name'), index=False) writer.save() return