Tengo un archivo de texto que está en un formato separado por comas, delimitado por "
en la mayoría de los campos. Intento incluir eso en algo que pueda enumerar a través de (Generic Collection, por ejemplo). No tengo control sobre cómo se genera el archivo ni el carácter que utiliza para el delimitador.Parse Delimited CSV en .NET
En este caso, los campos están separados por una coma y los campos de texto están encerrados en "
marcas. El problema al que me estoy enfrentando es que algunos campos tienen comillas (es decir, 8 "
Bandeja) y se recogen accidentalmente como el siguiente campo. En el caso de los campos numéricos, no tienen comillas a su alrededor, pero comienzan con un signo + o un signo (que representa un número positivo/negativo).
Estaba pensando en un RegEx, pero mis habilidades no son tan buenas, así que con suerte alguien puede proponer algunas ideas. Hay aproximadamente 19,000 registros en este archivo, por lo que estoy tratando de hacerlo de la manera más eficiente posible. Aquí hay un par de ejemplos de filas de datos:
"00","000000112260 ","Pie Pumpkin ","RET","6.99 "," ","ea ",+0000000006.99000
"00","000000304078 ","Pie Apple caramel ","RET","9.99 "," ","ea ",+0000000009.99000
"00","StringValue here","8" Tray of Food ","RET","6.99 "," ","ea ",-00000000005.3200
Hay muchos más campos, pero se puede obtener la imagen ....
estoy usando VB.NET y tengo una lista genérica configuración para aceptar los datos. He intentado usar CSVReader y parece funcionar bien hasta que tocas un registro como el tercero (con una comilla en el campo de texto). Si de alguna manera puedo hacer que maneje las cotizaciones adicionales, la opción CSVReader funcionará bien.
Gracias!
Ayudaría tener archivos CSV formateados correctamente para empezar. – FlySwat
Se supone que las comillas dobles dentro de una cadena entre comillas se escapen doblando. Entonces "8" Bandeja de comida "no está permitido en el formato. De esta manera, una cadena como hola", "no puede existir. Escapada y citada, se convierte en" hola "", "" allí ". , se convierte en "hola", "allí" que se ve como dos cadenas. – UncleO
Estoy de acuerdo con los dos comentarios anteriores, pero desafortunadamente no tengo control sobre cómo se exporta el archivo. Así es como sale del archivo. software. – hacker