-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSheetDiffToXlsx.py
46 lines (41 loc) · 2.13 KB
/
SheetDiffToXlsx.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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
__author__ = "Sean Asiala"
__copyright__ = "Copyright (C) 2020 Sean Asiala"
# TODO(sasiala): again, reconsider naming
import csv
import xlsxwriter
import logger
def csv_to_sheet(workbook, csv_path, sheet_name):
worksheet = workbook.add_worksheet(sheet_name)
change_add_format = workbook.add_format({'bold':True, 'bg_color':'green'})
change_sub_format = workbook.add_format({'bold':True, 'bg_color':'red'})
change_add_sub_format = workbook.add_format({'bold':True, 'bg_color':'pink'})
no_change_format = workbook.add_format()
with open(csv_path, 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for r, row in enumerate(csv_reader):
temp = list(enumerate(row))
line_format = change_add_format
if not len(temp) == 0:
if (temp[0][1] == 'Change/Sub'):
logger.log('csv_to_xlsx.log', 'Change/Sub', logger.LogLevel.DEBUG)
line_format = change_sub_format
elif (temp[0][1] == 'Change/Add'):
logger.log('csv_to_xlsx.log', 'Change/Add', logger.LogLevel.DEBUG)
elif (temp[0][1] == 'Change/Add/Sub'):
logger.log('csv_to_xlsx.log', 'Change/Add/Sub', logger.LogLevel.DEBUG)
line_format = change_add_sub_format
elif (temp[0][1] == 'New Line'):
logger.log('csv_to_xlsx.log', 'New Line', logger.LogLevel.DEBUG)
elif (temp[0][1] == 'Deleted Line'):
logger.log('csv_to_xlsx.log', 'Deleted Line', logger.LogLevel.DEBUG)
line_format = change_sub_format
elif (temp[0][1] == 'No Change'):
logger.log('csv_to_xlsx.log', 'No Change', logger.LogLevel.DEBUG)
line_format = no_change_format
else:
logger.log('csv_to_xlsx.log', 'No Change (unprocessed csv)', logger.LogLevel.ERROR)
line_format = no_change_format
for c, col in enumerate(row):
worksheet.write(r, c, col, line_format)
return True
return False