Well, you still did not answer the questions about your version and the place where the installation is hosted.
You see, this is importent for us to know.
Otherwise we may propose solution that you can't use becaise of missing rights or a not compatible version.
And we have no idea how you want to display.
Here is what I understand:
As you say there are only about 500 project codes you can do this with only built in features.
This first (simple) solution is based on the assumption that the project codes are different in AX and AY
1. Enter the content of the csv-file into a question if type "long text"
Do this in a manner that each element has the same length, like
Here:
AX,AY: 2 characters
project number: 5 characters
project name: 30 characters
institution: 20 characters
2. In a question of type "list(radio) selct AX or AY
3. Use two dropdowns, one with the project codes of AX, one witjh the codes of AY
4. To display "project name" and "institution" create a question of type "multiple short text" and in the default answers enter this
project name
{if(Q1=="AX",trim(substr(eqPool,strpos(eqPool,Q2a.shown)+5,30)),trim(substr(eqPool,strpos(eqPool,Q2b.shown)+5,30)))}
institution
{if(Q1=="AX",trim(substr(eqPool,strpos(eqPool,Q2a.shown)+35,20)),trim(substr(eqPool,strpos(eqPool,Q2b.shown)+35,20)))}
If there can be the same project name in AX and AY you may add it tp the strpos-function, like
{if(Q1=="AX",trim(substr(eqPool,strpos(eqPool,"AX"+Q2a.shown)+7,30)),trim(substr(eqPool,strpos(eqPool,"AY"+Q2b.shown)+7,30)))}
Joffm
And as said before, you should provide a lss export of a prototype of this survey.
And you can read the csv file into the first "long text".
@tpartner mentioned the *ls file already.
Of course you can use a more sophisticated finction to capture the texts (if you do not want to restructure of the csv)
But as long as you do not show the structure of the file, ...?