def write_data()

in aai/doc.py [0:0]


def write_data(name, transpose, data):
    file_path = _config.filepath
    file_name = name + _config.file_name

    # log.info('Started: writing document {} on sheet {}'.format(file_name, sheet_name))

    # Create a Pandas Excel writer using XlsxWriter as the engine.
    writer = pd.ExcelWriter("{}{}".format(file_path, file_name), engine="xlsxwriter")

    # transpose = _config.settings.config['excel']['transpose'].get()

    for d in data:
        df = pd.DataFrame(d["Result"])

        # fix: Excel does not support datetimes with timezones. Please ensure that datetimes are timezone unaware before writing to Excel.
        for col in df.select_dtypes(["datetimetz"]).columns:
            df[col] = df[col].dt.tz_convert(None)

        sheet_name = d["Name"]
        if transpose:
            df.transpose().to_excel(writer, sheet_name=sheet_name)
            worksheet = writer.sheets[sheet_name]
            # Adjust at least the first column width
            worksheet.set_column("A:A", 60)
        else:
            df.to_excel(writer, sheet_name=sheet_name)
            # Adjust all columns widths
            for column in df:
                column_length = max(df[column].astype(str).map(len).max(), len(column))
                col_idx = df.columns.get_loc(column)
                writer.sheets[sheet_name].set_column(col_idx, col_idx, column_length)

    # Close the Pandas Excel writer and output the Excel file.
    writer.save()
    print("Report generated successfully at: {}{}".format(file_path, file_name))