Extract Text Table From File

2012-08-27 Thread Huso
Hi,

I am trying to extract some text table data from a log file. I am trying 
different methods, but I don't seem to get anything to work. I am kind of new 
to python as well. Hence, appreciate if someone could help me out.

Below is just ONE block of the traffic i have in the log files. There will be 
more in them with different data.

ROUTES TRAFFIC RESULTS, LSR
TRG  MP   DATE   TIME
 37  17 120824   

R TRAFF   NBIDS   CCONG   NDV  ANBLO   MHTIME  NBANSW
AABBCCO 6.4 204 0.0   1151.0113.4 144
AABBCCI 3.0 293   1151.0 37.0 171
DDEEFFO 0.2   5 0.0590.0107.6   3
EEFFEEI 0.0   0590.0  0.0   0
HHGGFFO 0.0   0 0.0300.0  0.0   0
HHGGFFI 0.3  15300.0 62.2   4
END

Thanks
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Extract Text Table From File

2012-08-27 Thread Huso
On Monday, August 27, 2012 3:12:14 PM UTC+5, Laszlo Nagy wrote:
> On 2012-08-27 11:53, Huso wrote:
> 
> > Hi,
> 
> >
> 
> > I am trying to extract some text table data from a log file. I am trying 
> > different methods, but I don't seem to get anything to work. I am kind of 
> > new to python as well. Hence, appreciate if someone could help me out.
> 
> 
> 
> #
> 
> # Write test data to test.txt
> 
> #
> 
> 
> 
> data = """
> 
> ROUTES TRAFFIC RESULTS, LSR
> 
> TRG  MP   DATE   TIME
> 
>   37  17 120824   
> 
> 
> 
> R TRAFF   NBIDS   CCONG   NDV  ANBLO   MHTIME  NBANSW
> 
> AABBCCO 6.4 204 0.0   1151.0113.4 144
> 
> AABBCCI 3.0 293   1151.0 37.0 171
> 
> DDEEFFO 0.2   5 0.0590.0107.6   3
> 
> EEFFEEI 0.0   0590.0  0.0   0
> 
> HHGGFFO 0.0   0 0.0300.0  0.0   0
> 
> HHGGFFI 0.3  15300.0 62.2   4
> 
> END
> 
> """
> 
> fout = open("test.txt","wb+")
> 
> fout.write(data)
> 
> fout.close()
> 
> 
> 
> #
> 
> # This is how you iterate over a file and process its lines
> 
> #
> 
> fin = open("test.txt","r")
> 
> for line in fin:
> 
>  # This is one possible way to extract values.
> 
>  values = line.strip().split()
> 
>  print values
> 
> 
> 
> 
> 
> This will print:
> 
> 
> 
> []
> 
> ['ROUTES', 'TRAFFIC', 'RESULTS,', 'LSR']
> 
> ['TRG', 'MP', 'DATE', 'TIME']
> 
> ['37', '17', '120824', '']
> 
> []
> 
> ['R', 'TRAFF', 'NBIDS', 'CCONG', 'NDV', 'ANBLO', 'MHTIME', 'NBANSW']
> 
> ['AABBCCO', '6.4', '204', '0.0', '115', '1.0', '113.4', '144']
> 
> ['AABBCCI', '3.0', '293', '115', '1.0', '37.0', '171']
> 
> ['DDEEFFO', '0.2', '5', '0.0', '59', '0.0', '107.6', '3']
> 
> ['EEFFEEI', '0.0', '0', '59', '0.0', '0.0', '0']
> 
> ['HHGGFFO', '0.0', '0', '0.0', '30', '0.0', '0.0', '0']
> 
> ['HHGGFFI', '0.3', '15', '30', '0.0', '62.2', '4']
> 
> ['END']
> 
> 
> 
> 
> 
> The "values" list in the last line contains these values. This will work 
> 
> only if you don't have spaces in your values. Otherwise you can use 
> 
> regular expressions to parse a line. See here:
> 
> 
> 
> http://docs.python.org/library/re.html
> 
> 
> 
> Since you did not give any specification on your file format, it would 
> 
> be hard to give a concrete program that parses your file(s)
> 
> 
> 
> Best,
> 
> 
> 
>  Laszlo

Hi,

Thank you for the information.
The exact way I want to extract the data is like as below.

TRG, MP and DATE and TIME is common for that certain block of traffic.
So I am using those and dumping it with the rest of the data into sql.
Table will have all headers (TRG, MP, DATE, TIME, R, TRAFF, NBIDS, CCONG, NDV, 
ANBLO, MHTIME, NBANSW).

So from this text, the first data will be 37, 17, 120824, , AABBCCO, 6.4, 
204, 0.0, 115, 1.0, 113.4, 144.

Thanking,
Huso
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Extract Text Table From File

2012-08-27 Thread Huso
Hi,

There can be any number of blocks in the log file.
I distinguish the block by the start header 'ROUTES TRAFFIC RESULTS, LSR' and 
ending in 'END'. Each block will have a unique [date + time] value.

I tried the code you mentioned, it works for the data part.
But I need to get the TRG, MP, DATE and TIME for the block with those data as 
well. This is the part that i'm really tangled in.

Thanking,
Huso
-- 
http://mail.python.org/mailman/listinfo/python-list