diff --git a/swash/processing/read_swash.py b/swash/processing/read_swash.py index 9ae9d29..2c0936c 100644 --- a/swash/processing/read_swash.py +++ b/swash/processing/read_swash.py @@ -16,10 +16,14 @@ class ReadSwash: @classmethod def read_nohead(cls, path): - log.info(f"Replacing \\s with \\n in '{path}'") - subprocess.run(("sed", "-i", r"s/\s\+/\n/g", path)) - log.info(f"Loading '{path}'") - return np.loadtxt(path) + with tempfile.TemporaryFile(mode="w+t") as tmpfile: + log.info(f"Replacing \\s with \\n in '{path}'") + subprocess.run(("sed", r"s/\s\+/\n/g;/^$/d", path), stdout=tmpfile, text=True) + log.info(f"Loading '{path}'") + tmpfile.seek(0) + a = np.asarray(tmpfile.readlines(), dtype=float) + log.debug(f"path={a}") + return a def read_time(self, path): self._t = np.unique(self.read_nohead(path))