| 111 | |
| 112 | |
| 113 | class CSVOutputFormat(KVWriter): |
| 114 | def __init__(self, filename): |
| 115 | self.file = open(filename, "w+t") |
| 116 | self.keys = [] |
| 117 | self.sep = "," |
| 118 | |
| 119 | def writekvs(self, kvs): |
| 120 | # Add our current row to the history |
| 121 | extra_keys = list(kvs.keys() - self.keys) |
| 122 | extra_keys.sort() |
| 123 | if extra_keys: |
| 124 | self.keys.extend(extra_keys) |
| 125 | self.file.seek(0) |
| 126 | lines = self.file.readlines() |
| 127 | self.file.seek(0) |
| 128 | for (i, k) in enumerate(self.keys): |
| 129 | if i > 0: |
| 130 | self.file.write(",") |
| 131 | self.file.write(k) |
| 132 | self.file.write("\n") |
| 133 | for line in lines[1:]: |
| 134 | self.file.write(line[:-1]) |
| 135 | self.file.write(self.sep * len(extra_keys)) |
| 136 | self.file.write("\n") |
| 137 | for (i, k) in enumerate(self.keys): |
| 138 | if i > 0: |
| 139 | self.file.write(",") |
| 140 | v = kvs.get(k) |
| 141 | if v is not None: |
| 142 | self.file.write(str(v)) |
| 143 | self.file.write("\n") |
| 144 | self.file.flush() |
| 145 | |
| 146 | def close(self): |
| 147 | self.file.close() |
| 148 | |
| 149 | |
| 150 | class TensorBoardOutputFormat(KVWriter): |
no outgoing calls
no test coverage detected