比较更改的CSV文件

时间:2020-05-08 19:40:17

标签: python csv comparison

我正在尝试编写一个Python脚本来比较两个文件,Staff.CSV(一个用于保存上次运行比较的CSV文件,另一个用于保存最新信息的StaffCurrent.csv)。 直到我开始从StaffCurrent.csv中删除记录为止,它一直运行得很好,因为我当时所做的类似比较然后感到困惑。

我已经在下面编写了可以工作的代码,但是一旦删除多于1条记录,它就会再次失败。我的想法是将CSV文件内容转换为列表,然后比较包含相同数据的索引,然后进行比较。如果没有将数据写入一个单独的Starters 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)

0 个答案:

没有答案