我正在尝试将列表中的一些字符串写入 csv 文件。我正在逐步浏览列表,并将其写入 csv 文件,但是当我在 2 个列表中找到匹配项时,我不想将列表中的值写入 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
你已经非常接近了,继续
语句跳转到for循环的下一次迭代
但 break
语句只会停止当前循环并继续后面的代码(循环)
关于python - 如果匹配,则跳过将值写入 Csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35903060/