我正在尝试将唯一值写入一个csv,该csv中已经有一个int列表。你知道吗
目前我已经尝试通过一系列可能的数字循环,然后检查这些数字是否在csv中。看来检查工作不正常。你知道吗
def generateUserCode():
with open ('/MyLocation/user_codes.csv') as csvDataFile:
userCodes = csv.reader(csvDataFile)
for x in range(0, 201):
if x not in userCodes:
return x
def writeUserCode(userCode):
with open ('/MyLocation/user_codes.csv', 'a') as csvDataFile:
csvDataFile.write('\n' + str(userCode))
userCode = generateUserCode()
writeUserCode(userCode)
因此,它应该打印第一个不在csv中的数字,并将该数字添加到csv中。不过,它所做的只是打印0,并在每次运行时将0添加到我的csv中,即使0在csv中也是如此。你知道吗
更新:
csv如下所示:
3
4
5
35
56
100
有更多的值,但通常是相同的,没有重复,值在0到200之间
以下行有问题:
userCodes不是列表,而是csvReader对象。另外,你应该使用
这是对我有效的代码:
迭代用户代码显示每个项都是字符串列表:
退货:
所以有很多可能的解决方法,其中之一是:
在没有看到CSV的情况下回答是很棘手的,但是当你读取CSV时,所有的字段都是字符串。因此,您需要将
userCodes
转换为int
或x
转换为string
才能进行比较。你知道吗例如:
相关问题 更多 >
编程相关推荐