我正在尝试编写一个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)