def parse_data(data, measurement=None, tag_columns=None, **extra_tags):
"""Converts input data into line protocol format"""
if isinstance(data, bytes):
return data
elif isinstance(data, str):
return data.encode('utf-8')
elif isinstance(data, pd.DataFrame):
if measurement is None:
raise ValueError("Missing 'measurement'")
return parse_df(data, measurement, tag_columns, **extra_tags)
elif isinstance(data, Mapping):
return make_line(data, measurement, **extra_tags)
elif isinstance(data, Iterable):
return b'\n'.join([parse_data(i, measurement, tag_columns, **extra_tags) for i in data])
else:
raise ValueError('Invalid input', data)
评论列表
文章目录