Tuve que utilizar un analizador CSV en .NET para un proyecto este verano y me decidí por el Microsoft Jet Text Driver. Usted especifica una carpeta usando una cadena de conexión, luego consulta un archivo usando una declaración SQL Select. Puede especificar tipos fuertes utilizando un archivo schema.ini. No lo hice al principio, pero luego recibí malos resultados en los que el tipo de datos no era aparente de inmediato, como los números de IP o una entrada como "XYQ 3.9 SP1".
Una de las limitaciones que encontré es que no puede manejar nombres de columnas de más de 64 caracteres; trunca Esto no debería ser un problema, excepto que estaba tratando con datos de entrada muy mal diseñados. Devuelve un conjunto de datos ADO.NET.
Esta fue la mejor solución que encontré.Sería cauteloso de rodar mi propio analizador CSV, ya que probablemente me perdería algunos de los casos finales, y no encontré ningún otro paquete de análisis CSV gratuito para .NET.
EDITAR: Además, solo puede haber un archivo schema.ini por directorio, por lo que lo anexé dinámicamente para escribir con fuerza las columnas necesarias. Solo escribirá con fuerza las columnas especificadas e inferirá para cualquier campo no especificado. Realmente lo aprecié, ya que estaba tratando de importar un fluido CSV de columna de más de 70 y no quería especificar cada columna, solo las que se comportaban mal.
Este es un duplicado de http://stackoverflow.com/questions/1103495/is-there-a-proper-way-to-read-csv-files –
Teniendo en cuenta esto se creó un año antes de lo 1103495 Creo que esa pregunta es un duplicado de esta. – MattH
Gracias, Matt. Solo intentaba unirlos, no indicar cuál vino primero. Verá que tengo exactamente el mismo texto en la otra pregunta que apunta a este. ¿Hay una mejor manera de unir dos preguntas? –