Respuesta: capturar datos de un txt Cita:
Iniciado por wendyl hola a todos necesito su ayuda
Lo que pasa es que tengo estos datos en un archivo de texto y tengo que capturar solo algunos datos de estos que son los que van despues de la palabra TIME 1:00- 2:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0","" por favor necesito de su ayuda no se como hacer la expresion regular para capturar esos datos
6-5-2012 3:25 PM - Report for Voice System name: Une calle 76 - list bcms skill 15 00:00 14:00
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","0:00- 1:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","1:00- 2:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","2:00- 3:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","3:00- 4:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","4:00- 5:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","5:00- 6:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:00","0.0",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","6:00- 7:00","0","0:00","0","0:00","0:00","0:00","0","0", "0:02","0.7",""
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","7:00- 8:00","1","1:33","0","0:00","3:11","0:00","0","0", "1:36","1.8","0"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","8:00- 9:00","1","0:08","0","0:00","2:47","0:00","0","0", "55:45","3.9","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","9:00-10:00","3","0:06","0","0:00","7:33","0:00","0","0" ,"22:52","4.0","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","10:00-11:00","7","0:03","0","0:00","10:39","0:00","0","0 ","39:15","4.0","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","11:00-12:00","5","0:06","1","0:27","4:53","0:00","0","0" ,"115:07","4.0","83"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","12:00-13:00","3","0:05","0","0:00","2:59","0:00","0","0" ,"34:57","3.2","100"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","13:00-14:00","4","0:12","0","0:00","2:46","0:00","0","0" ,"68:47","2.4","75"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","-----------","-----","-----","----","-----","-----","-------","----","----","-------","-----","---"
"BCMS SKILL REPORT","EMTELCO","3:29 pm TUE JUN 5, 2012","Skill:","15","Skill Name:","LAI_VOZ","20","TIME","SUMMARY","24","0:10" ,"1","0:27","6:09","0:00","0","0","338:21","1.7"," 88" Tengo este codigo php Código PHP: <?php
header ('refresh: 1; url=actualizar_bd_skill12.php');
//Conexion BD
include ("conexion.php");
$Link=conexion();
//Elimina toda la data de la tabla
$mysql = mysql_query("DELETE FROM skill12") or die ("Problemas al eliminar informacion. ".mysql_error());
//Cargar archivo y almacenarlo como texto
$archivo = fopen("REPORTES/report_monitor_bcms_skill_12.txt","r");
$textoarchivo = show_source("REPORTES/report_monitor_bcms_skill_12.txt",True);
//dividir la cabecera del contenido
$dividir=explode("\n",$textoarchivo);
//ejecutar expresion regular para obtener los datos
$resultado=preg_split('/[~~.~~]/', $dividir[1]);
$primeralinea=True;
//Creacion de la tabla
echo "<table border=1><tr>";
echo "<td>Agent_name</td>";
echo "<td>Login_id</td>";
echo "<td>Extension</td>";
echo "<td>State</td>";
echo "<td>Time</td>";
echo "<td>Acd_calls</td>";
echo "<td>Ext_out_calls</td>";
echo "<td>Ext_in_calls</td>";
echo "</tr>";
$sql="INSERT INTO skill12 (agent_name, login_id,extension,state,time,acd_calls,ext_out_calls,ext_in_calls) VALUES (";
//contador para recorrer resultado expresion regular
foreach($resultado as $valor){
if($valor!=="<br>" && $valor!==""){
//la primera linea no la usaremos entonces omitimos esta
if($primeralinea){
$primeralinea=False;
}else{
//expresion regular para dividir los datos
$linea = preg_split("/[\".\"]/", $valor);
echo "<tr>";
$contador=0;
foreach($linea as $final){
if($final!=="," && $final!==""){
//se acabo los campos y dejar de crear celdas en la tabla
if($contador>7){
//FINAL DE TEXTO
}else{
$contador++;
$sql.="'".$final."',";
echo "<td>".$final."</td>";
}
}
}
echo "</tr>";
//quitarle coma al final y agregar cierre de parentesis para el texto de la consulta sql
$sql=trim($sql,",").")";
//EJECUTAR CONSULTA
echo $sql."<br>";
$mysql=mysql_query($sql) or die ("problemas en el insert".mysql_error());
$sql="INSERT INTO skill12 (agent_name, login_id,extension,state,time,acd_calls,ext_out_calls,ext_in_calls) VALUES (";
}
}
}
echo "</table><br>";
//Elimina toda la data de la tabla
$mysql = mysql_query("DELETE FROM general") or die ("Problemas al eliminar informacion. ".mysql_error());
/*Inicia codigo para recuperar los otros dos datos*/
//Creacion de la tabla
echo "<br />";
echo "<table border=1>";
echo "<tr>";
echo "<td>Llamadas en cola</td>";
echo "<td>Tiempo llamada</td>";
echo "</tr>";
$resultado=preg_split('/^[.~~]/', $dividir[1]);
$sql="INSERT INTO general (Llamadas_cola, tiempo_llamada) VALUES (";
foreach($resultado as $valor)
{
if($valor!=="<br>" && $valor!=="")
{
//la primera linea no la usaremos entonces omitimos esta
if($primeralinea)
{
$primeralinea=False;
}else
{
//expresion regular para dividir los datos
$linea = preg_split("/[\".\"]/", $valor);
echo "<tr>";
$contador=0;
foreach($linea as $final)
{
if($final!=="," && $final!=="")
{
//se acabo los campos y dejar de crear celdas en la tabla
if($contador == 4 || $contador == 6 )
{
echo "<td>".$final."</td>";
$sql .= "'".$final."',";
}
$contador++;
}
}
echo "</tr>";
//quitarle coma al final y agregar cierre de parentesis para el texto de la consulta sql
$sql=trim($sql,",").")";
//EJECUTAR CONSULTA
echo $sql."<br>";
$mysql=mysql_query($sql) or die ("problemas en el insert".mysql_error());
//$sql="INSERT INTO general (Llamadas_cola, tiempo_llamada) VALUES (";
echo "</table>";
}
}
}
mysql_close($Link);
?> no se como podre modificarlo para que me traiga solo los datos que yo quiero |