una txt texto lista linea leer importar especifica escribir ejercicios como columnas binarios archivos archivo python nlp jnlp text-extraction

python - txt - ¿Cómo puedo obtener solo los nombres de encabezado.del archivo de texto



leer columnas en python (2)

Tengo un archivo de texto como a continuación:

Education: askdjbnakjfbuisbrkjsbvxcnbvfiuregifuksbkvjb.iasgiufdsegiyvskjdfbsldfgd Technical skills : java,j2ee etc., work done: oaugafiuadgkfjwgeuyrfvskjdfviysdvfhsdf,aviysdvwuyevfahjvshgcsvdfs,bvisdhvfhjsvjdfvshjdvhfjvxjhfvhjsdbvfkjsbdkfg

Me gustaría extraer solo los nombres de los encabezados, como Educación, Habilidades Técnicas, etc.

el código es:

with open("aks.txt") as infile, open("fffm",''w'') as outfile: copy = False for line in infile: if line.strip() == "Technical Skills": copy =True elif line.strip() == "Workdone": copy = True elif line.strip() == "Education": copy = False elif copy: outfile.write(line) fh = open("fffm.txt", ''r'') contents = fh.read() len(contents)


Si está seguro de que los nombres de los títulos aparecen antes de dos puntos (:), puede escribir una expresión regular para buscar dicho patrón.

import re with open("aks.txt") as infile: for s in re.finditer(r''(?<=/n).*?(?=:)'',infile.read()): print s.group()

La salida será como

Education Technical skills work done


Para obtener solo los títulos de su archivo de texto, puede usar lo siguiente:

import re with open(''aks.txt'') as f_input: headings = re.findall(r''(.*?)/s*:'', f_input.read()) print headings

Esto mostraría lo siguiente:

[''Education'', ''Technical skills'', ''work done'']