I have a generic CSV loader here at work. It receives a CSV and according to some parameters (connectionstring, function name, columns-to-parameters mapping) the loader reads the CSV and calls the nominated function, passing parameters as found in the CSV
Suppose we have a CSV:
a,1,banana,#...