-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathcsv_writers.py
27 lines (23 loc) · 934 Bytes
/
csv_writers.py
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
import csv
from variables import data_path
class CSVWriters:
"""
Class to manage different CSV writers.
"""
file_names = ['archive', 'commit', 'pushevent', 'commitcommentevent', 'releaseevent', 'deleteevent',
'gollumevent', 'memberevent', 'forkevent', 'createevent', 'issue', 'issuecomment', 'pullrequest',
'pullrequestreview', 'pullrequestreviewcomment']
def __init__(self, date):
"""
Create a CSV writer for each table/file
:param date: date of the data to be written
"""
self.files = [open(f'{data_path}/{file_name}-{date}.csv', 'a') for file_name in CSVWriters.file_names]
self.writers = {name : csv.writer(f, escapechar='🁇') for f, name in zip(self.files, CSVWriters.file_names)}
def close(self):
"""
Close all writers
:return: None
"""
for file in self.files:
file.close()