Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果匹配,则跳过将值写入Csv_Python_Csv - Fatal编程技术网

Python 如果匹配,则跳过将值写入Csv

Python 如果匹配,则跳过将值写入Csv,python,csv,Python,Csv,我正在尝试将列表中的一些字符串写入csv文件。我正在单步遍历列表,并将其写入csv文件,但当我在两个列表中找到匹配项时,我不想将列表中的值写入csv文件。如果列表的值与单独列表中的另一个值匹配,是否有人可以帮助我跳过将该值写入csv的语法?如果你想知道我的语法哪里出错了,下面是我的代码 import csv listOfAppIDs = [] #open file to read each line and add each line in file to an array. These ar

我正在尝试将列表中的一些字符串写入csv文件。我正在单步遍历列表,并将其写入csv文件,但当我在两个列表中找到匹配项时,我不想将列表中的值写入csv文件。如果列表的值与单独列表中的另一个值匹配,是否有人可以帮助我跳过将该值写入csv的语法?如果你想知道我的语法哪里出错了,下面是我的代码

import csv

listOfAppIDs = []
#open file to read each line and add each line in file to an array. These are our appID's to search
with open('filelcation/listAppIDs.txt', 'r') as fi:
    for line in fi:
        listOfAppIDs.append(line.rstrip('\n'))
listOfAppIDs.sort() #alphebetically sort list
print listOfAppIDs

alreadyReviewedAppIDs = ['youseemore','streampix','streamaudio','spotify','speedtest','soundcloud-base','smartsheet-base','samsung-updates','print-over-ms-smb','exp','dicom','pop3','x11','echo','webdav','ustream','telnet','skydrive-base','rsync','outlook-web','nfs','ms-office365-base','itunes-appstore','apple-appstore','aim-mail','discard','time','akamai-client','bomgar','cisco VPN','DHCP','IBM-Clearquest','Ironmountain-Connected','MS-SCOM','MS-SSTP','SCCP','SNMPV3','WCCP','XDMCP','secureserver-mail','teamviewer-base']
print alreadyReviewedAppIDs

i=0
i2=3
with open ('filelocation/outputAppIDsToDo.csv', 'wb') as outputFile:
    writer = csv.writer(outputFile, delimiter=',',)
    for item in listOfAppIDs:
        if(i%14==0):
            i2 +=1
        #for item2 in alreadyReviewedAppIDs:
        #   if (item2==item):
        #       break
        writer.writerow([i2, item])
        i += 1
更改此部分

with open ('filelocation/outputAppIDsToDo.csv', 'wb') as outputFile:
    writer = csv.writer(outputFile, delimiter=',',)
    for item in listOfAppIDs:
        if(i%14==0):
            i2 +=1
        if item in alreadyReviewedAppIDs: # if match
           continue # skips the item
        writer.writerow([i2, item])
        i += 1
您已经非常接近了,
continue
语句跳转到forloop的下一个迭代
但是
break
语句只会停止当前循环并在其之后继续执行代码(循环)

您的意思是如果应用程序列表中的项或AlreadyReviewEdapids中的项:continue?如果它在任一列表中,则继续到下一个项如果
listOfAppIDs
中的
item
等于
item2
from
alreadyreviewedapids
则不执行语句
writer.writerow([i2,item])