How to select a single row of a txt in python

0

The txt file is formed as follows:

                                      *********Reporte General*********
Número de errores Concordancia:                   31 
Número de errores Dequeismo:                  1 
Número de errores Preposiciones:              3 
Número de errores Preposiciones con Verbo:        2 
Número de errores Cocofonia:      5 
Número de errores Impersonal:     26 
Número de errores Frecuentes:     3 
Número de errores Expresiones:        3 
Número de errores Jergas Populares:       1 
Número de errores Anaforas:       14 
Número de errores Infinitivo:     2 
Número de errores Tónica:     1 
Número de errores Rimas:      21 
Número de errores Riqueza Lexica:     423 
                                      *********Reporte General*********
Número de errores Concordancia:                   2 
Número de errores Dequeismo:                  0 
Número de errores Preposiciones:              0 
Número de errores Preposiciones con Verbo:        0 
Número de errores Cocofonia:      2 
Número de errores Impersonal:     0 
Número de errores Frecuentes:     0 
Número de errores Expresiones:        0 
Número de errores Jergas Populares:       0 
Número de errores Anaforas:       0 
Número de errores Infinitivo:     0 
Número de errores Tónica:     0 
Número de errores Rimas:      3 
Número de errores Riqueza Lexica:     9
    
asked by Jlcastr 26.09.2018 в 03:59
source

1 answer

0

To select a row according to some criteria, the following can be done:

import re

# Dentro de "open(archivo" deberá introducirse, entre comillas, el nombre del
# archivo de texto. Por ejemplo, si el archivo se llama 'archivo.txt':
lineas = open('archivo.txt').read().split('\n')

# El primer parámetro dentro de "re.search(primer_parametro,x)" debe de ser
# el criterio bajo el cual se quiere seleccionar alguna fila, por ejemplo,
# para encontrar la fila que contenga el número '423':

resultado = filter(lambda x: x if re.search('423',x) else None,lineas)

This way you can select the row that meets the default criteria:

print(resultado)
['Número de errores Riqueza Lexica:     423 ']

If python 3.x is used, the last line should be slightly different:

resultado = list(filter(lambda x: x if re.search('423',x) else None,lineas))
    
answered by 27.09.2018 / 05:16
source