csvを開き、第1列で電子メールを検索しようとしています。存在する場合は、特定の行の第3列が '1'であるかどうかを確認します。私はそれに電子メールを持っている行の3番目の列だけをチェックする方法を理解できません。電子メールが入っている行のインデックスを取得する方法はありますか?私は行[行#] [2]のような何かをすることができますので、電子メールで行の列3を検索します。CSVファイルを検索して文字列を取得し、行インデックスをPython 2.7で取得する方法
with open('MyFile.csv', 'rb') as f:
reader = list(csv.reader(f))
for row in reader:
if Email in row[0]: #checks if email exist
if '1' in row[2]: #searches every row instead of just the one with email
print "Account Already = 1"
がどのように私はこのような何かを追加することができます:ここで私が今持っているものだ
with open('MyFile.csv', 'rb') as f:
reader = list(csv.reader(f))
for row in reader:
if Email in row[0]:
print Email.index
#(lets say it returns '4')
if '1' in row[3][2]: #searches only 4th row for '1'
quit()
EDIT--私は、これは私が使用しているものです、作業ました:
df =pd.read_csv('myfile.csv')
a = np.where((df['Email'] == Email) & (df['Num'] == '1'))
try:
if (a[0][0] + 1) > 0:
print "Account = 1"
quit()
except IndexError:
pass
'row [4]'は現在の行の5番目の列で、 'row [4] [2]'は5番目の列の3番目の文字です。 3番目の列を確認しませんでしたか? ( 'row [2]') – DyZ
@DYZはいありがとう、私は質問を編集しました。私は誤ってダウンの代わりに1を上げました。 – Ecom1414
'row [3]'はまだ3番目の列ではなく、4番目の列です。また、おそらく '[2]'部分は必要ないでしょう。単に '' row [2] == '1' 'をチェックするだけです。 – DyZ