What's more efficient depends partly on what you do with the data. Are you going back through every file over and over again for different stocks many times? That's the impression I got. If so, putting the info in a database of some sort up front and querying the database will be much more efficient. If, though, you are only interested in a few stocks and only hit those files for a particular date range a few times, you might not want to bother with changing anything.