我有一个带键/值对的.csv文件。我试图通过调用我的字典检查给定的密钥是否在文件中,但我有一个我不太明白的错误。任何帮助表示赞赏!
def Dictionary(x):
wDictionary = open('file.csv', 'r')
for line in wDictionary:
mylist = line.split(',')
def main():
x = input('enter text:')
cd = Dictionary(x)
if x in cd:
print('yes')
main()
错误:
Traceback (most recent call last):
File "7.py", line 15, in <module>
main()
File "7.py", line 12, in main
if x in cd:
TypeError: argument of type 'NoneType' is not iterable
答案 0 :(得分:2)
由于您未从Dictionary(x)
返回,cd
设置为None
。因此错误。
一堆其他问题:我会让你自己解决这个问题。
def Dictionary(x):
wDictionary = open('file.csv', 'r')
mylist = []
for line in wDictionary.readlines():
mylist.append(line.split(','))
return mylist
def main():
x = input('enter text:')
cd = Dictionary(x)
for line in cd:
if x in line:
print('yes')
main()
此外,您不需要将参数x
发送到函数中,因为您没有对它执行任何操作。
答案 1 :(得分:1)
你没有在Dictionary(x)中返回任何内容,因此当你要求它迭代cd时,Python不知道该怎么做。