The sum of numbers in a line from a file

Johannes Schneider johannes.schneider at galileo-press.de
Fri Feb 21 09:16:19 CET 2014


s = 4
e = 7
with f = file('path_to_file) as fp:
	for line in f:
		if line.startswith(name):
			avg =  sum(map(int, filter(ambda x : len(x) > 0,
				s.split(' '))[s : e])) / (e -  s)






On 20.02.2014 17:22, kxjakkk wrote:
> Let's say I have a sample file like this:
>
> Name        1           2     3    4     5      6     7    8
> ------------------------------------------------------------------------
> name1    099-66-7871   A-F    Y    100    67    81    59    98
> name2    999-88-7766   A-F    N    99   100    96    91    90
> name3    000-00-0110    AUD        5    100    28    19    76
> name4    398-72-3333    P/F    Y    76    84    49    69    78
> name5    909-37-3689    A-F    Y    97    94    100    61    79
>
> For name1, I want to add together columns 4, 5, 6, and get an average from that, then do the same for the last two columns. I want to do this for every name.
>
> All I've got is
> sum([int(s.strip()) for s in open('file').readlines()])
>


-- 
Johannes Schneider
Webentwicklung
johannes.schneider at galileo-press.de
Tel.: +49.228.42150.xxx

Galileo Press GmbH
Rheinwerkallee 4 - 53227 Bonn - Germany
Tel.: +49.228.42.150.0 (Zentrale) .77 (Fax)
http://www.galileo-press.de/

Geschäftsführer: Tomas Wehren, Ralf Kaulisch, Rainer Kaltenecker
HRB 8363 Amtsgericht Bonn



More information about the Python-list mailing list