Lookup in a csv file with a multiple field key

26 views
Skip to first unread message

fanvalt

unread,
Apr 28, 2016, 6:46:32 AM4/28/16
to Ansible Project
Hello,

my csv file has the "," delimiter and is this way:
buddy,dv19,toto
eric,dv05,toto
buddy,dv05,toto

I can easily use the lookup command on a single key like buddy or eric or dv19 or dv05.
How could I proceed to select on a multiple key like "buddy,dv19" ? 

I tried to set a variable to buddy,dv1ç and use it this way, it cannot be found:

....
doublekey: buddy,dv19
....
 - debug: msg="the value of doublekey  is {{ lookup('csvfile', '{} file=/home/fanvalt/parameter_playbook/param.csv delimiter=, col=0'.format(doublekey)) }}"

any clue ?

Regards

J Hawkesworth

unread,
Apr 28, 2016, 7:57:27 AM4/28/16
to Ansible Project
Not sure what the csvfile lookup plugin returns, but since you are inside {{ }} I'm guessing you can using jinja filters, so you might be able to use 'selectattr' to pick only those results which have the secondary key.


Hope this helps

Jon

fanvalt

unread,
Apr 28, 2016, 10:36:49 AM4/28/16
to Ansible Project
Thank you but lookup returns a field that is not the key in my case, I didn't find out how to use selectattr.

Because I cannot find out how to select on a multiple key, I tried to figure how to read all records from the file, beczuse lookup only select the 1st line found on the key value.
If I try to use the grep unix command, how to store the records in an array or by any way ?

Regards
Reply all
Reply to author
Forward
0 new messages