The sum of numbers in a line from a file
Johannes Schneider
johannes.schneider at galileo-press.de
Fri Feb 21 03:16:19 EST 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