コード例 #1
0
ファイル: server.py プロジェクト: edornd/label-studio
def samples_time_series():
    """ Generate time series example for preview
    """
    time_column = request.args.get('time')
    value_columns = request.args.get('values').split(',')
    time_format = request.args.get('tf')

    # separator processing
    separator = request.args.get('sep', ',')
    separator = separator.replace('\\t', '\t')
    aliases = {'dot': '.', 'comma': ',', 'tab': '\t', 'space': ' '}
    if separator in aliases:
        separator = aliases[separator]

    # check headless or not
    header = True
    if all(n.isdigit() for n in [time_column] + value_columns):
        header = False

    # generate all columns for headless csv
    if not header:
        max_column_n = max([int(v) for v in value_columns] + [0])
        value_columns = range(1, max_column_n + 1)

    ts = generate_time_series_json(time_column, value_columns, time_format)
    csv_data = pd.DataFrame.from_dict(ts).to_csv(index=False,
                                                 header=header,
                                                 sep=separator).encode('utf-8')
    mem = io.BytesIO()
    mem.write(csv_data)
    mem.seek(0)
    return send_file(mem,
                     as_attachment=False,
                     attachment_filename='time-series.csv',
                     mimetype='text/csv')
コード例 #2
0
ファイル: blueprint.py プロジェクト: rajeshnair/label-studio
def samples_time_series():
    """Generate time series example for preview"""
    time_column = request.args.get("time", "")
    value_columns = request.args.get("values", "").split(",")
    time_format = request.args.get("tf")

    # separator processing
    separator = request.args.get("sep", ",")
    separator = separator.replace("\\t", "\t")
    aliases = {"dot": ".", "comma": ",", "tab": "\t", "space": " "}
    if separator in aliases:
        separator = aliases[separator]

    # check headless or not
    header = True
    if all(n.isdigit() for n in [time_column] + value_columns):
        header = False

    # generate all columns for headless csv
    if not header:
        max_column_n = max([int(v) for v in value_columns] + [0])
        value_columns = range(1, max_column_n + 1)

    ts = generate_time_series_json(time_column, value_columns, time_format)
    csv_data = (pd.DataFrame.from_dict(ts).to_csv(
        index=False, header=header, sep=separator).encode("utf-8"))

    mem = io.BytesIO()
    mem.write(csv_data)
    mem.seek(0)
    return send_file(
        mem,
        as_attachment=False,
        attachment_filename="time-series.csv",
        mimetype="text/csv",
    )