It's a sort of regular problem but I still cannot figure out the solution if not to use any plugin-in libraries.
Here is code snippet as follows, and I just iterate over rows and project each cell onto the corresponding header.
load csv with headers ...