J'ai un fichier texte qui est délimité par des tabulations et j'essaie de comprendre comment rechercher une valeur dans une colonne spécifique dans ce fichier.Rechercher une valeur spécifique dans une colonne spécifique avec Python
Je pense que je dois utiliser l'importation csv, mais j'ai échoué jusqu'à présent. Quelqu'un peut me diriger dans la bonne direction?
Merci!
** Mise à jour ** Merci pour les mises à jour de tout le monde. Je sais que je pourrais probablement utiliser awk pour cela mais simplement pour la pratique, j'essaye de le finir en python.
Je reçois l'erreur suivante maintenant: si row.split (» «) [int (searchcolumn)] == SearchQuery: IndexError: liste des index hors de portée
Et voici l'extrait de mon code:
#open the directory and find all the files
for subdir, dirs, files in os.walk(rootdir):
for file in files:
f=open(file, 'r')
lines=f.readlines()
for line in lines:
#the first 4 lines of the file are crap, skip them
if linescounter > startfromline:
with open(file) as infile:
for row in infile:
if row.split(' ')[int(searchcolumn)] == searchquery:
rfile = open(resultsfile, 'a')
rfile.writelines(line)
rfile.write("\r\n")
print "Writing line -> " + line
resultscounter += 1
linescounter += 1
f.close()
Je prends à la fois searchcolumn et searchquery en tant que raw_input de l'utilisateur. Im deviner la raison pour laquelle je suis en train de sortir la liste hors de portée maintenant, est parce que ce n'est pas l'analyse du fichier correctement?
Merci encore.
Si cela ne fait pas partie d'une application Python plus grande, vous pouvez constater que c'est le genre de chose pour laquelle 'awk' a été créé. –