op 25-04-14 17:10, Floris van Manen schreef:
Je hebt een folder met daarin een aantal bestanden en in elk bestand een aantal 
regels met op elke regel één getal?
Vervolgens wil je een lijst van alle bestanden en daarvan alle regels waarvan de 
waarde <= is aan een gegeven integer (float) waarde?

In dat geval zou je een dict kunnen maken met als sleutel de naam van het 
bestand en als value de lijst van de getallen in dat bestand.

Afhankelijk van het aantal keren dat je die data wilt doorzoeken, kun je er 
voor kiezen om de getallen als index te kiezen met als value een lijst van 
bestandsnamen.

.F


bijvoorbeeld:


#!/usr/bin/env python
# encoding: utf-8

import os
from collections import defaultdict

fv = defaultdict(list)
vf = defaultdict(list)

folder = 'tmp'
for fn in os.listdir(folder):
     ffn = os.path.sep.join([folder, fn])
     if fn.endswith('.txt'):
         with open(ffn, 'r') as fp:
             content = fp.readlines()
             values = [int(x) for x in content if x]
             print ffn
             print values
             fv[ffn].append( values)
             for v in values:
                 vf[v].append( ffn )


print '='*20
print fv
print '='*20
print vf

print '='*20
zoek = 46
for k,v in vf.iteritems():
     if k <= zoek:
         print v







_______________________________________________
Python-nl mailing list
Python-nl@python.org
https://mail.python.org/mailman/listinfo/python-nl
Niet helemaal ...

Ik heb een directory (/usr/local/samba/data/XML) met daarin enkele files, en per uur komen hier een 100 tal files bij. In ieder bestand in deze directory staat een regel met BoxID="xxx",waar xxx een getal is tussen 0 en 999. Nu wil ik deze bestanden filteren op BoxID Soms heb ik er 1 nodig, soms meerdere. en het kan zijn dat er meerdere bestanden zijn met hetzelfde BoxID. Nu dacht ik als ik een bestand aanmaak (/root/scripts/boxid) en ik zet daar de nummers in die ik wil dan ben ik klaar.

Echter lukt dat nog niet helemaal, of beter gezegd helemaal niet. Blijkt toch even wat anders te gaan dan gedacht.

Ik ga ook met de antwoorden van de andere even aan de slag..

Alvast bedankt allemaal.

gr
Johan
_______________________________________________
Python-nl mailing list
Python-nl@python.org
https://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan