-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
29 lines (22 loc) · 1.12 KB
/
main.py
File metadata and controls
29 lines (22 loc) · 1.12 KB
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
28
29
import sys
import os
import csv
import json
import datetime
### destination to fetch and output files
DEFAULT_FILE_INPUT = "/data/in/tables/"
DEFAULT_FILE_DESTINATION = "/data/out/tables/"
for filename in os.listdir(DEFAULT_FILE_INPUT):
if filename.endswith(".csv"):
print("Outputting: {0}".format(filename))
with open(DEFAULT_FILE_INPUT+filename, mode='rt', encoding='utf-8') as in_file, open(DEFAULT_FILE_DESTINATION+filename, mode='wt', encoding='utf-8') as out_file:
#now = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M")
now = datetime.datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S")+" +0000"
lazy_lines = (line.replace('\0', '') for line in in_file)
reader = csv.DictReader(lazy_lines, lineterminator='\n')
writer = csv.DictWriter(out_file, fieldnames=['data', 'time', 'file'], lineterminator='\n')
writer.writeheader()
print("Rows: {0}".format(filename))
for row in reader:
writer.writerow({ "data": json.dumps(row), "time": now, "file": filename })
print("Done!")