summaryrefslogtreecommitdiff
path: root/szilagyi/_dataset/__init__.py
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-09-03 00:10:41 +0200
committerAki <please@ignore.pl>2022-09-03 00:12:17 +0200
commit07b0fb8ef544dbf007068b5b23dd7ec989ac8017 (patch)
tree77129f78d8bd6664db8ed2ba7e0ae904abf3b395 /szilagyi/_dataset/__init__.py
parente3c151ad4ca8ae147ea00cddc08d0b40de72e192 (diff)
downloadszilagyi-07b0fb8ef544dbf007068b5b23dd7ec989ac8017.zip
szilagyi-07b0fb8ef544dbf007068b5b23dd7ec989ac8017.tar.gz
szilagyi-07b0fb8ef544dbf007068b5b23dd7ec989ac8017.tar.bz2
Moved dataset loading function to dataset module
Diffstat (limited to 'szilagyi/_dataset/__init__.py')
-rw-r--r--szilagyi/_dataset/__init__.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/szilagyi/_dataset/__init__.py b/szilagyi/_dataset/__init__.py
new file mode 100644
index 0000000..cfa1aee
--- /dev/null
+++ b/szilagyi/_dataset/__init__.py
@@ -0,0 +1,27 @@
+import csv
+import os
+import re
+
+from ..nomogram import Vector
+
+
+ROOT = os.path.dirname(os.path.abspath(__file__))
+
+
+def load():
+ def _read(iterable):
+ for x, y in iterable:
+ yield Vector(float(x), float(y))
+
+ def _load(filename):
+ with open(filename) as fd:
+ reader = csv.reader(fd)
+ return list(_read(reader))
+
+ def _files(directory):
+ for filename in os.listdir(directory):
+ match = re.match(r"SWI_(-?\d+)\.csv", filename)
+ if match:
+ yield int(match.group(1)), os.path.join(directory, filename)
+
+ return [(x, _load(y)) for x, y in sorted(_files(ROOT), key=lambda x: x[0])]