about summary refs log tree commit diff
path: root/gn3/computations/rqtl2.py
blob: d515e74bb7c928d82973164ccda027d2596557d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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