Yes, there a few of these out there. Some free. Some not free. Some with IDataReader. Some without IDataReader. Some support IsDbNull. Some insist on always using Empty. Some are NotInheritable. Some are.
I wanted a mix of those features and I also wanted to define the columns manually at times using the existing DataColumn bits from the Data namespace.
Thus, the gazillionth CsvDataReader was born. Use it. Steal it. Send patches.