私はPythonにはかなり新しく、奇妙であると思われる問題にぶつかっています。私はcsvfileの最初の列を検索しています。Python CSV検索
私はcsvモジュールを使用しており、ループのネストされたコードをいくつか持っています。私の意図は、途中のループがcsvfileの最初の行から一致するものが見つかるたびに再起動することでした。しかし、代わりに、それは常にcsvで検索されている最後の行から始まります。
私のコードと結果は、私の問題をより明確にします。ここで
number = [1,3,5,6,7,8,1234,324,5,2,35]
import csv
with open('...../Documents/pycharm/testcsv.csv', 'rb') as csvimport:
csvfile = csv.reader(csvimport)
for num in number:
print 'looking for ' + str(num)
is_in_file = False
print 'set to false'
for row in csvfile:
print 'looking at value ' + row[0]
if row[0] == str(num):
is_in_file = True
print 'match, set to true'
break
print 'test1'
if is_in_file == False:
print str(num) + ' not found in file!'
はIDEで印刷する内容である:
looking for 1
set to false
looking at value a
looking at value 1
match, set to true
test1
looking for 3
set to false
注:ここで私がcsvfile内の最初の行を見たい(値A)。代わりに、csvfileの3行目(値 '')を調べます。ここから先の
looking at value
looking at value 1234
looking at value 7
looking at value 1
looking at value 3
match, set to true
test1
それが最後の行を経験してきたとして、それはすべて一緒にループのための私の内面をスキップします:ここで
looking for 5
set to false
looking at value 5
match, set to true
test1
looking for 6
set to false
looking at value 6
match, set to true
test1
looking for 7
set to false
looking at value 77
looking at value 23
looking at value 87
test1
7 not found in file!
looking for 8
set to false
test1
8 not found in file!
looking for 1234
set to false
test1
1234 not found in file!
looking for 324
set to false
test1
324 not found in file!
looking for 5
set to false
test1
5 not found in file!
looking for 2
set to false
test1
2 not found in file!
looking for 35
set to false
test1
35 not found in file!
たcsvfile
a,c,b,d,e
1,3,4,5,6
,7,7,,87
1234,1,98,7,76
7,8,90,0,8
1,3,98,0,0
3,cat,food,20,39
5,%,3,6,90
6,2,2,2,3
77,3,4,3,5
23,3,4,3,6
87,5,5,5,
はどうもありがとうございます – apettey