Я пытаюсь написать сценарий Python для сравнения 2 файлов, Staff.CSV
(CSV-файл для сравнения с предыдущим запуском и StaffCurrent.csv
, содержащий самую свежую информацию. Это было работал отлично, пока я не начал удалять записи из StaffCurrent.csv
в качестве сравнения, которое я делал, а затем запутался.
Я написал код ниже, который работает, но как только я удалю Если больше 1 записи, он снова не работает. Моя идея заключалась в том, чтобы преобразовать содержимое файла CSV в списки, а затем сравнить, какие индексы содержат те же данные, а затем сравнить их. Если нет, записать данные в отдельный файл CSV для начинающих, который я работал позже в программе.
Я просто надеялся, что кто-то сможет дать мне какие-то рекомендации по правильной работе этой начальной части!
for line in range(0,len(staffcurrent)):
time.sleep(5)
Ind = CheckIndex(line)
if(Ind == "NA"):
print("List Item Not Found, Skipping")
else:
#Seperate text into lines
SCurrent = staffcurrent[Ind].split('\n')
try:
S = staff[Ind].split('\n')
def CheckIndex(line):
CheckStaff = []
CheckCurrentStaff = []
if(len(staff) > len(staffcurrent)):
param = staff
else:
param = staffcurrent
for i in range(0,len(param)):
try:
CheckStaff.append(staff[i].split('\n'))
CheckCurrentStaff.append(staffcurrent[i].split('\n'))
except:
print("")
#try:
if(line == 0):
print("Not Valid")
Ind = "NA"
return(Ind)
elif(line > len(param)):
print("End of Stream Reached")
else:
#print("CheckStaff: ",CheckStaff)
#print("CheckCurrent: ",CheckCurrentStaff)
print("Line: ",line)
try:
Ind = (CheckStaff.index(CheckCurrentStaff[line]))
return(Ind)
except:
try:
Ind = (CheckStaff.index(CheckCurrentStaff[line-1]))
return(Ind)
except:
try:
Ind = (CheckStaff.index(CheckCurrentStaff[line+1]))
return(Ind)
except:
Ind = line
print("Not Found In Staff.CSV, New Starter?")
return(Ind)