annotate resfinder/cge/out/util/convert.py @ 0:55051a9bc58d draft default tip

Uploaded
author dcouvin
date Mon, 10 Jan 2022 20:06:07 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
1 #!/usr/bin/env python3
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
2
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
3 from ..result import Result
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
4
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
5
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
6 class Convert():
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
7 """ """
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
8
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
9 @staticmethod
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
10 def toCSVTable(result_list):
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
11 """"""
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
12 out = ""
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
13 if(not result_list):
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
14 return out
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
15
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
16 # Get all headers
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
17 headers = set()
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
18 for result in result_list:
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
19 headers.update(result.keys())
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
20
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
21 headers.remove("key")
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
22 headers = list(headers)
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
23
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
24 out = "\t".join(headers)
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
25 out = "key\t{}".format(out)
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
26
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
27 for result in result_list:
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
28 entry = [str(result["key"])]
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
29 for header in headers:
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
30 val = result.get(header, "NaN")
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
31 entry.append(str(val))
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
32 entry_str = "\t".join(entry)
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
33 out = "{}\n{}".format(out, entry_str)
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
34
55051a9bc58d Uploaded
dcouvin
parents:
diff changeset
35 return out