擅长:python、mysql、java
<p>你有几个问题:</p>
<p>第一个<code>reader</code>此时是空的,因为您已经循环了它的元素。从<a href="https://docs.python.org/3/glossary.html#term-file-object" rel="nofollow noreferrer">file</a>读取是一次性的,如果要多次访问其内容,则需要将其写入数据结构,例如:</p>
<pre><code>rows = []
with open("student.csv", newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
rows.append(row)
</code></pre>
<p>但是这也不够,因为<code>rows</code>现在是一个2D列表,因为每个<a href="https://docs.python.org/3.5/library/csv.html#csv.reader" rel="nofollow noreferrer">^{<cd3>} the reader returns</a>本身就是一个列表。<a href="https://stackoverflow.com/q/11963711/113632">easy way to search for a value in nested lists</a>具有列表理解:</p>
^{pr2}$
<hr/>
<p>把它放在一起,这样压痕就更容易看到:</p>
<pre><code>rows = []
with open("student.csv", newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
rows.append(row)
if studentToFind in [cell for row in rows for cell in row]:
print('yes')
else:
print('no')
</code></pre>