elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Leer archivo txt y validar estructura
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer archivo txt y validar estructura  (Leído 6,336 veces)
elqueteconte

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Leer archivo txt y validar estructura
« en: 24 Febrero 2016, 22:46 pm »

Saludos amigos,

Tiempo sin andar por acá.

En esta oportunidad vengo a hacerles una consulta; necesito hacer tres cosas:
1.- Leer la estructura de un archivo txt cuyos campos están separados por punto y coma.
2.- Leer cada campo del registro y validar si el campo tiene datos o está vacio, si tiene valores numericos cuando debe ser alfanumericos.
3.- Si encuentra errores en los registros ir guardandolos en otro txt y al fina dar un resumen, es decir, se procesaron X registros los cuales Y tienen errores e indicar cada registro con su error al lado

Alguien podría darme una mano con esto?

Gracias mil desde ya.



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Leer archivo txt y validar estructura
« Respuesta #1 en: 25 Febrero 2016, 09:12 am »

1.- Leer la estructura de un archivo txt cuyos campos están separados por punto y coma.

Para parsear archivos con estructura CSV puedes recurrir a metodologías tradicionales mediante un String.Split() en cada linea para manejar los Arrays resultantes, o también puedes utilizar la class TextFieldParser.




2.- Leer cada campo del registro y validar si el campo tiene datos o está vacio

Para comprobar si una cadena de texto está vacía, puedes utilizar la función String.IsNullOrEmpty().




2.- Leer cada campo del registro y validar si el campo tiene datos o está vacio, si tiene valores numericos cuando debe ser alfanumericos.

Para determinar si una cadena de texto es alfanumérica, es decir, que contenga al menos 1 letra y 1 dígito, puedes hacerlo con una expresión regular para simplificar el código, pero si quieres obtener mejores resultados de rendimiento yo te sugiero realizar una consulta LINQ-to-Objects o un For, evaluando cada caracter con las funciones Char.IsLetter() y Char.IsDiggit() para llevar la cuenta, sin olvidarnos de interrumpir la iteración del For (break/Exit For) cuando se haya encontrado 1 de cada tipo de caracter, para no perder tiempo de ejecución evaluando el resto de caracteres de forma innecesaria.




3.- Si encuentra errores en los registros ir guardandolos en otro txt y al fina dar un resumen, es decir, se procesaron X registros los cuales Y tienen errores e indicar cada registro con su error al lado

¿Por qué trabajar con otro archivo de texto adicional solamente para informar de los errores encontrados?.

Yo te sugiero trabajar desde la memoria, utilizando por ejemplo un diccionario con llave y valor de tipo String, donde ir añadiendo una entrada al diccionario por cada "valor corrupto", con una breve descripción del tipo de problema encontrado.


Saludos!


« Última modificación: 25 Febrero 2016, 09:14 am por Eleкtro » En línea

elqueteconte

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Leer archivo txt y validar estructura
« Respuesta #2 en: 25 Febrero 2016, 14:52 pm »

Epale Elektro;

Gracias por la información amigo.

El año pasado me diste una enorme ayuda con un utilitario que me ayudaste a desarrollar cuyo objetivo es el de tomar unos txt y empaquetarlos; ahora tengo que incluir en este una función para verificar cada txt; pero ocurre que pueden haber dos grupos de txt a verificar, dependiendo de la opción que indique el usuaior.

Te paso el paquete a ver donde me sugieres que deba colocar la verificarción del archivo antes de hacer todo el trabajo de fusión y empaquetado de los archivos.

Te adjunto el paquete:
https://www.dropbox.com/s/f06pdzxxov2bp3w/WindowsApplication6.rar?dl=0
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines