Is data driven testing possible with protractor?

You can use browser.params to read custom test data.

To read from a JSON file simply add params to your config file

exports.config = {
  params: require('./your-params-file.json'),
};

NodeJS will automatically convert the JSON file to a Javascript object that is easily accessible from any of your tests through browser.params.whateverYourJSONHas.

If you really need to use CSV then try some parser like csvtojson or google / open another question about "NodeJS convert CSV file to array of POJOs"