about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander_Kabui2025-01-23 13:50:57 +0300
committerBonfaceKilz2025-02-06 12:43:15 +0300
commit3217602490a14d179820235d3d7d25a56995dc1e (patch)
treefad206675d55279663b3716889990428d0c09e50
parentd939e447a5568c671dabf344aa49c651a3091a58 (diff)
downloadgenenetwork3-3217602490a14d179820235d3d7d25a56995dc1e.tar.gz
feat: Add method to write list of data to csv file.
-rw-r--r--gn3/computations/rqtl2.py24
1 files changed, 23 insertions, 1 deletions
diff --git a/gn3/computations/rqtl2.py b/gn3/computations/rqtl2.py
index 052ceae..d515e74 100644
--- a/gn3/computations/rqtl2.py
+++ b/gn3/computations/rqtl2.py
@@ -1 +1,23 @@
-"""Module contains functions for  parsing and  processing rqtl2 input and output."""
+import os
+import csv
+import uuid
+import json
+from pathlib import Path
+from typing import Dict
+
+
+def write_to_csv(work_dir, file_name, data:list[dict],
+                      headers= None, delimiter=","):
+    """Functions to write data list  to csv file
+    if headers is not provided use the keys for first boject.
+    """
+    file_path = os.path.join(work_dir, file_name)
+    if headers is None and data:
+        headers = data[0].keys()
+    with open(file_path, "w", encoding="utf-8") as file_handler:
+        writer = csv.DictWriter(file_handler, fieldnames=headers,
+                               delimiter=delimiter)
+        writer.writeheader()
+        for row in  data:
+            writer.writerow(row)
+        return file_path