¿Hay alguna biblioteca de lectores/escritores CSV en C#?¿Hay bibliotecas de lectores/escritores CSV en C#?
Respuesta
Sí, ¿aunque supongo que realmente está pidiendo detalles?
Trate FileHelpers
Bueno, lo hice pero por alguna extraña razón FileHelpers se rompió al azar. Además, la biblioteca FileHelpers no ha estado en desarrollo durante mucho tiempo. –
FileHelpers se desarrollan activamente ahora, vea el [GitHub] (https://github.com/MarcosMeli/FileHelpers). – xmedeko
Hay docenas.
http://www.filehelpers.net/ es uno de los más comunes.
Debo decir que encuentro Filehelpers restrictivo en algunos escenarios, y en su lugar uso The Fast CSV Reader. Según mi experiencia, si no conoce el formato de su archivo CSV o importa la asignación hasta el tiempo de ejecución, esta es la mejor biblioteca para usar.
También utilizamos Filehelpers. – Tangurena
He encontrado FileHelpers como una molestia para configurar. FastCsvReader fue mucho más fácil de usar. –
+1 para FastCsvReader. Excelente actuación. Pero es principalmente un lector/analizador. No es un escritor. –
Sebastien Lorion tiene un gran lector CSV
en CodeProject llamado A Fast CSV Reader. Probablemente uno de los mejores para C# y es gratis.
En cuanto a la escritura, simplemente use StreamWriter
.
Aquí hay un código repetitivo para escribir un DataGridView
a un archivo:
private void exportDGVToCSV(string filename)
{
if (dataGridView1.Columns.Count != 0)
{
using (Stream stream = File.OpenWrite(filename))
{
stream.SetLength(0);
using (StreamWriter writer = new StreamWriter(stream))
{
// loop through each row of our DataGridView
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string line = string.Join(",", row.Cells.Select(x => $"{x}"));
writer.WriteLine(line);
}
writer.Flush();
}
};
}
}
Hay un par de opciones, justo en el propio marco.
Una de las más fáciles es hacer referencia a Microsoft.VisualBasic, luego usar TextFieldParser. Es un lector CSV completamente funcional en el marco central.
Otra buena alternativa es use datasets to read CSV files.
Siempre me pregunté por qué estaba en el ensamblado Microsoft.VisualBasic ... ¿La EM creía que los desarrolladores de C# no usaban CSV? –
@Thomas: sobre todo porque muchos desarrolladores de C# se estremecen ante la idea de incluir un ensamblado de VisualBasic en sus proyectos –
Sí, hay muchos buenos "objetos" allí. Creo que es más porque VB tiene algunas construcciones de lenguaje que originalmente no se consideraban originalmente en el marco, pero que nunca habrían podido hacer llegar a los usuarios de VB6 sin implementarlos. Los espacios de nombres Dispositivos y Servicios de aplicación tienen todo tipo de cosas útiles. –
Probar CsvHelper. Es tan fácil de usar como FastCsvReader y también lo es. He estado muy contento con FastCsvReader en el pasado, pero necesitaba algo que también lo haga, y no estaba contento con FileHelpers.
lectura:
var csv = new CsvReader(stream);
var myCustomTypeList = csv.GetRecords<MyCustomType>();
Escritura:
var csv = new CsvWriter(stream);
csv.WriteRecords(myCustomTypeList);
Full Disclosure: Yo soy el autor de esta biblioteca.
Gracias, Josh. Le di una oportunidad, y fue rápido y eficiente en la memoria. Creo que la documentación podría mejorarse un poco para los usuarios principiantes, pero definitivamente fue suficiente. – Sam
- 1. ¿Hay marcos/bibliotecas P2P maduras en C#?
- 2. ¿Hay bibliotecas ccTalk disponibles?
- 3. ¿Hay una implementación null std :: ostream en C++ o bibliotecas?
- 4. ¿Hay bibliotecas de rastreo de rayos C++ simples y gratuitas?
- 5. bibliotecas quaternion en C/C++
- 6. ¿Hay un evento OnLoad para las bibliotecas C#?
- 7. C++ ¿Bibliotecas similares a C#?
- 8. rápido, simple CSV de análisis en C++
- 9. ¿Hay bibliotecas/frameworks para SCons?
- 10. Boost como bibliotecas en C
- 11. Acceso aleatorio CSV; C#
- 12. C# Dictionary to .csv
- 13. ¿Usar bibliotecas de impulso C++?
- 14. Lectura de archivos CSV en C#
- 15. Bibliotecas de procesamiento de imágenes en C#
- 16. ¿Hay bibliotecas de clasificación OpenCV gratuitas?
- 17. C bibliotecas no estándar
- 18. ¿Buen escritor CSV para C#?
- 19. bibliotecas de aprendizaje automático en C#
- 20. Ejemplos de interfaces C para bibliotecas C++?
- 21. En las bibliotecas C++ Boost, ¿por qué hay una extensión ".ipp" en algunos archivos de encabezado
- 22. ¿Hay una versión de caracteres múltiples de strchr() en las bibliotecas estándar de C?
- 23. bibliotecas C# para la internacionalización?
- 24. ¿Hay algunas bibliotecas de código abierto de CAD en Java?
- 25. ¿Hay bibliotecas de gestos de código abierto en Android?
- 26. C o C++: ¿Bibliotecas para factorizar enteros?
- 27. Mezclar bibliotecas de diferentes compiladores de C++
- 28. ¿Hay algo como rubygems.org para bibliotecas scala
- 29. ¿Hay bibliotecas independientes para Firefox Sync?
- 30. ¿Hay bibliotecas para Square Root en lugar de BigDecimal?
Me gustaría diferir. Esta es definitivamente una pregunta constructiva y el primer resultado en google para '.net csv library'. La evidencia, aunque anecdótica, para mi reclamo es que esta pregunta ha sido vista más de 22000 veces en los últimos seis años. – shovavnik
cierto dijo - primer hit en google – Robetto