in analysis/webservice/algorithms/doms/subsetter.py [0:0]
def toCsv(self):
"""
Convert results to csv
"""
dataset_results = self.results()
csv_results = {}
logging.info('Converting result to CSV')
for dataset_name, results in dataset_results.items():
rows = []
headers = [
'longitude',
'latitude',
'time'
]
data_variables = list(set([keys for result in results for keys in result['data'].keys()]))
data_variables.sort()
if 'id' in list(set([keys for result in results for keys in result.keys()])):
headers.append('id')
headers.extend(data_variables)
for i, result in enumerate(results):
cols = []
cols.append(result['longitude'])
cols.append(result['latitude'])
cols.append(datetime.utcfromtimestamp(result['time']).strftime('%Y-%m-%dT%H:%M:%SZ'))
if 'id' in headers:
cols.append(result.get('id'))
for var in data_variables:
cols.append(result['data'].get(var))
if i == 0:
rows.append(','.join(headers))
rows.append(','.join(map(str, cols)))
csv_results[dataset_name] = '\r\n'.join(rows)
logging.info('Finished converting result to CSV')
return csv_results