Сравните изменение файлов CSV - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь написать сценарий 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...