スプレッドシートから直接読み取った情報の行を読み取り/印刷する次のコードがあります。
in_path = connector.GetWorksheetDataWithId(worksheet_id)
# Simple test print
for item in in_path:
print item
次の形式の複数の行が印刷されます。
{'_chk2m': 'Name1@domain.com', '_cn6ca': 'PaulDu', '_cokwr': '005C0000003yL'}
{'_chk2m': 'Name2@domain.com', '_cn6ca': 'Jeanell', '_cokwr': '005C0000003we'}
{'_chk2m': 'Name3@domain.com', '_cn6ca': 'Twanna', '_cokwr': '005C0000004tB'}
{'_chk2m': 'Name4@domain.com', '_cn6ca': 'JaneyD', '_cokwr': '005C0000003xJ}
{'_chk2m': 'Name5@domain.com', '_cn6ca': 'Charlot', '_cokwr': '005C0000003yS}
{'_chk2m': 'Name6@domain.com', '_cn6ca': 'Janessa', '_cokwr': '005C0000004pE'}
{'_chk2m': 'Name7@domain.com', '_cn6ca': 'Matilda', '_cokwr': '005C000 0003xK'}
{'_chk2m': 'Name8@domain.com', '_cn6ca': 'ChloeR', '_cokwr': '005C00000040h'}
ユーザーにユーザー エイリアス (行の 2 番目の項目、たとえば「PaulDu」) を送信させ、ID # を返してもらいます (行の 3 番目の項目)。
私はこのようなことを試しました:
def dict_test(in_path):
user_alias = raw_input("Please enter User Alias: ")
for row in in_path:
if (user_alias in elt for elt in row):
return user_alias
print row
dict_test(in_path)
「PaulDu」と入力しましたが、どの行も正常に印刷できませんでした。また、現在識別されている行からメールを呼び出すにはどうすればよいですか?
編集:
最終的な作業コード:
in_path = connector.GetWorksheetDataWithId(worksheet_id)
def dict_test(in_path):
user_alias = raw_input("Please enter User Alias: ")
data = []
for row in in_path:
#if any(user_alias in row[elt] for elt in row):
#if any(user_alias in value for key, value in row.items()):
if user_alias in row.values():
print row
for row in in_path:
if user_alias == row['_cn6ca']:
email = row['_chk2m']
print email
return email
dict_test(in_path)