blob: b9b298dd1bfa42a0ebc1b58c4f475fda6c2ba95a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/usr/bin/env python3
import csv
import logging
import numpy as np
logger = logging.getLogger(__name__)
class KeysightCSV:
"""Simple loader for Keysight CSV data, as exported by the windows software."""
def __init__(self):
"""Create a new KeysightCSV object."""
pass
def load_data(self, filename: str):
"""
Load log data from filename, return timestamps and currents.
Returns two one-dimensional NumPy arrays: timestamps and corresponding currents.
"""
with open(filename) as f:
for i, _ in enumerate(f):
pass
timestamps = np.ndarray((i - 3), dtype=float)
currents = np.ndarray((i - 3), dtype=float)
# basically seek back to start
with open(filename) as f:
for _ in range(4):
next(f)
reader = csv.reader(f, delimiter=",")
for i, row in enumerate(reader):
timestamps[i] = float(row[0])
currents[i] = float(row[2]) * -1
return timestamps, currents
|