ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/ns_dev/Python/NinoCode/Active_prgs/Redgrave/EndoIGChgReqSysToServer.py
Revision: 788
Committed: Wed Aug 24 15:31:56 2022 UTC (3 years, 7 months ago) by nino.borges
Content type: text/x-python
File size: 3149 byte(s)
Log Message:
Edited to work on SNOW but doesnt support both at the same time.

File Contents

# Content
1 """
2
3 EndoIGChgReqSysToServer
4
5 Created by:
6 Emanuel Borges
7 08.04.2022
8
9 Using COM, this program will create a simplified txt file with rows from the Change Request Exports spreadsheets that hit on our server names. I'll then ingest this
10 on the main EndoIGServerAnalyzer program.
11
12 """
13
14 from win32com.client import Dispatch
15
16 if __name__ == '__main__':
17 outputFileName = r"C:\Test_Dir\serverToExcel-SNOW.txt"
18
19 #xlSpreadSheetFileName = r"C:\Users\eborges\Documents\Cases\Endo\20220715 - IG Projects\4 - Develop Identification Process to Inventory NCDS stored in Endo IT\_fromEndo\_otherInformation\ServiceNow Change Requests Jan 30 2020 to July 28 2022 - Copy.xlsx"
20 xlSpreadSheetFileName = r"C:\Users\eborges\Documents\Cases\Endo\20220715 - IG Projects\4 - Develop Identification Process to Inventory NCDS stored in Endo IT\_fromEndo\_otherInformation\Legacy SNOW Change Request data dump Dec 2007 to Jan 2020.xlsx"
21 win2kServersFile = r"C:\Users\eborges\Documents\Cases\Endo\20220715 - IG Projects\4 - Develop Identification Process to Inventory NCDS stored in Endo IT\_fromEndo\_csv\Win8Servers_NOFilter.csv"
22 #win2kServersFile = r"C:\Users\eborges\Documents\Cases\Endo\20220715 - IG Projects\4 - Develop Identification Process to Inventory NCDS stored in Endo IT\_fromEndo\_csv\Test.csv"
23
24 serverNamesMatrix = {}
25 contents = open(win2kServersFile).readlines()
26 contents = contents[1:]
27 for line in contents:
28 line = line.replace("\n","")
29 line = line.split("|")
30 serverNamesMatrix[line[0].upper()] = 1
31
32 print("There are %s unique server names."%len(list(serverNamesMatrix.keys())))
33 outputFile = open(outputFileName,'w')
34
35 xlApp = Dispatch('Excel.Application')
36 xlBook = xlApp.Workbooks.Open(xlSpreadSheetFileName)
37 sht = xlBook.Worksheets(1)
38 for serverName in list(serverNamesMatrix.keys()):
39 print("Now processing %s..."% serverName)
40 #outputFile.write(serverName + "|")
41 findAllResultsList = []
42 foundLoc = sht.UsedRange.Cells.Find(serverName)
43 if foundLoc:
44 while (foundLoc.Row,foundLoc.Column) not in findAllResultsList:
45 findAllResultsList.append((foundLoc.Row,foundLoc.Column))
46 foundLoc = sht.UsedRange.Cells.FindNext(foundLoc)
47 uniqueRows = set()
48 for rowNumb, colNumb in findAllResultsList:
49 uniqueRows.add(rowNumb)
50 uniqueRows = list(uniqueRows)
51 uniqueRows.sort()
52 for uniqueRowNumb in uniqueRows:
53 #outputFile.write("%s|%s|%s|%s|%s|%s\n"%(serverName,sht.Cells(uniqueRowNumb,1).value, sht.Cells(uniqueRowNumb,2).value, sht.Cells(uniqueRowNumb,12).value, sht.Cells(uniqueRowNumb,36).value, sht.Cells(uniqueRowNumb,114).value))
54 outputFile.write("%s|%s|%s\n"%(serverName,sht.Cells(uniqueRowNumb,2).value, sht.Cells(uniqueRowNumb,3).value))
55 else:
56 #outputFile.write(serverName + "|||||\n")
57 outputFile.write(serverName + "||\n")
58 #outputFile.write("\n")
59 outputFile.close()
60 xlBook.Close()
61