There's also a simple CSV parser on SqueakSource:
SqueakSource project page

After you import it into your image, be sure to save that image file and distribute it to all your students instead of the standard .image file.

___

Attached are the files you'll need.

Drag and drop the SUnit-Kernel.st file into your Etoys image first. Select "load" from the popup menu.
Drag and drop the CSV-JohnnyT.10.mcz file next into your Etoys World. Select "load" from the popup menu.
Save your image with the Alt-, menu. (Hold down alt and the comma).
Select "do..." in the menu.
Select "Smalltalk saveAsNewVersion" in the "Common Requests" menu.

Remove the version number added to the generated file etoys.1.image and etoys.1.changes and replace your original etoys.image and etoys.changes files and distribute those to your students as part of your modified Etoys distribution.

Now you can access Smalltalk from Etoys tiles as I mentioned above. 

Something like:

| pal csvParser csvMorph rowMorph |
pal := (FileDirectory on: 'C:')
/ 'Pal' / 'data' / 'InFile'.

csvParser := CSVParser parse: (FileDirectory default readOnlyFileNamed: (pal pathName, '\Pal.INV.csv')).
 csvMorph := AlignmentMorph newColumn. csvMorph borderWidth: 1. csvParser rows do: [:row | rowMorph := AlignmentMorph newRow. rowMorph borderWidth: 1. row do: [:text | rowMorph addMorph: (((RectangleMorph new) addMorph:((StringMorph contents: text) borderWidth: 1)) borderColor: Color black). ]. csvMorph addMorph: rowMorph copy. ]. csvMorph openCenteredInWorld.