Foros del Web » Programando para Internet » PHP »

Obtener caracteres de un txt

Estas en el tema de Obtener caracteres de un txt en el foro de PHP en Foros del Web. Hola a todos, tengo un pequeño problema extrayendo ciertos caracteres de un archivo txt bastante extenso. Por ejemplo mi archivo lista.txt tiene los siguientes registros: ...
  #1 (permalink)  
Antiguo 13/03/2014, 09:56
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Busqueda Obtener caracteres de un txt

Hola a todos, tengo un pequeño problema extrayendo ciertos caracteres de un archivo txt bastante extenso.

Por ejemplo mi archivo lista.txt tiene los siguientes registros:


775127100634 1 460 1 0 0 1 S T01
775127100634 1 460 1 0 0 1 S Y02
000000005252 1 245 1 0 0 0 S R03


Y así continua unos 1,000 registros. Lo que necesitaría es poder extraer en un nuevo archivo php solo los 3 últimos caracteres de cada registro.


Alguien que pueda echarme una mano en esto, le agradecería bastante.


Saludos.
  #2 (permalink)  
Antiguo 13/03/2014, 10:21
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Obtener caracteres de un txt

para ello tienes las funciones de cadena de PHP, o usa expresiones regulares, todo lo puedes consultar en el manual de php, como substr por ejemplo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/03/2014, 10:49
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Respuesta: Obtener caracteres de un txt

Gracias maycolalvarez , dime y si quisiera discriminar caracterer al momento de extraer también lo puedo hacer investigando sobre la funcion substr .... ??
  #4 (permalink)  
Antiguo 13/03/2014, 12:36
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Obtener caracteres de un txt

Cita:
Iniciado por Calle7 Ver Mensaje
Hola a todos, tengo un pequeño problema extrayendo ciertos caracteres de un archivo txt bastante extenso.

Por ejemplo mi archivo lista.txt tiene los siguientes registros:


775127100634 1 460 1 0 0 1 S T01
775127100634 1 460 1 0 0 1 S Y02
000000005252 1 245 1 0 0 0 S R03


Y así continua unos 1,000 registros. Lo que necesitaría es poder extraer en un nuevo archivo php solo los 3 últimos caracteres de cada registro.


Alguien que pueda echarme una mano en esto, le agradecería bastante.


Saludos.
Hay varias formas de hacerlo, pero en mi caso lo hare usando SplFileObject:
Código PHP:
Ver original
  1. $file = new SplFileObject("prueba.txt");
  2. while (!$file->eof()) {
  3.     $line = $file->fgetcsv(' ');
  4.     $result[] = array_pop($line);
  5. }
  6.  
  7. foreach($result as $r){
  8.     echo "$r <br>";
  9. }
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 13/03/2014, 12:46
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Busqueda Respuesta: Obtener caracteres de un txt

Gracias por tu ayuda hhs, dime hay alguna manera de cargar algún archivo .txt con datos como por ejemplo:


Cliente Referencia Cantidad
------------- --------- -------
C201403120850 00015 1
C201403120851 00015 1
C201403120852 00015 1
C201403120853 00015 1
C201403120854 00015 1


Este archivo lo cargo a MYSQL:

Código PHP:
LOAD DATA INFILE 'C:/data.txt' INTO TABLE Cantidad

La proxima vez que suba este archivo a MYSQL, por ejemplo los mismo clientes pero con diferentes cantidades


Cliente Referencia Cantidad
------------- --------- -------
C201403120850 00015 3
C201403120851 00015 3
C201403120852 00015 3
C201403120853 00015 3
C201403120854 00015 3


Como haría para que en la tabla se vayan sumando las cantidades y no simplemente los registros se inserten a la tabla ....


Es decir que vayan sumándose en función al cliente. Lo que buscaría es:



Cliente Referencia Cantidad
------------- --------- -------
C201403120850 00015 4
C201403120851 00015 4
C201403120852 00015 4
C201403120853 00015 4
C201403120854 00015 4
  #6 (permalink)  
Antiguo 13/03/2014, 14:39
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Obtener caracteres de un txt

Cita:
Iniciado por Calle7 Ver Mensaje
Gracias por tu ayuda hhs, dime hay alguna manera de cargar algún archivo .txt con datos como por ejemplo:


Cliente Referencia Cantidad
------------- --------- -------
C201403120850 00015 1
C201403120851 00015 1
C201403120852 00015 1
C201403120853 00015 1
C201403120854 00015 1


Este archivo lo cargo a MYSQL:

Código PHP:
LOAD DATA INFILE 'C:/data.txt' INTO TABLE Cantidad
La proxima vez que suba este archivo a MYSQL, por ejemplo los mismo clientes pero con diferentes cantidades


Cliente Referencia Cantidad
------------- --------- -------
C201403120850 00015 3
C201403120851 00015 3
C201403120852 00015 3
C201403120853 00015 3
C201403120854 00015 3


Como haría para que en la tabla se vayan sumando las cantidades y no simplemente los registros se inserten a la tabla ....


Es decir que vayan sumándose en función al cliente. Lo que buscaría es:



Cliente Referencia Cantidad
------------- --------- -------
C201403120850 00015 4
C201403120851 00015 4
C201403120852 00015 4
C201403120853 00015 4
C201403120854 00015 4
No lo puedes hacer con LOAD, necesitas leer el archivo y procesar los datos que necesitas: es decir ver si ya tiene una cantidad e incrementarla con los nuevos datos proporcionados por el archivo.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 13/03/2014, 14:51
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 127
Antigüedad: 16 años, 3 meses
Puntos: 0
Busqueda Respuesta: Obtener caracteres de un txt

Y mas o menos como podría hacer eso.... puedes orientarme o en le mejor de los casos brindarme un ejemplo.



Gracias
  #8 (permalink)  
Antiguo 13/03/2014, 16:37
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Obtener caracteres de un txt

Con el ejemplo que te pase puedes abrir y leer el archivo que recibes. las lineas que guardas las separas en un arreglo, obtienes el dato cantidad, y haces un update en el cliente que quieres con las referencia que te envía y que para tu caso ya tienes al leer el archivo lista.
Como lo hagas ya depende de ti.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:39.