Cómo contar palabras en Python

Cuenta palabras, caracteres y letras en Python con split(), len() y Counter.

En Python se cuentan las palabras separando el texto con split() y midiendo la lista con len(). Si solo quieres el recuento sin escribir código, pega tu texto en nuestro contador de palabras.

Contar las palabras de un texto

Para contar las palabras de una cadena, divide el texto con split() y mide la lista con len().

texto = "Hola mundo, esto es Python"
palabras = len(texto.split())
print(palabras)  # 5

Contar los caracteres y las letras de una palabra

Para contar los caracteres de una palabra usa len(); para contar solo las letras, filtra con isalpha().

palabra = "Python"
print(len(palabra))                       # 6 caracteres
print(sum(1 for c in palabra if c.isalpha()))  # 6 letras

Contar palabras en un archivo de texto (.txt)

Para contar las palabras de un archivo, abre el fichero con open(), lee su contenido y aplica split().

with open("archivo.txt", encoding="utf-8") as f:
    texto = f.read()
print(len(texto.split()))

Contar palabras en un documento Word (.docx)

Para leer un documento de Word instala la biblioteca python-docx y une el texto de todos los párrafos antes de contar.

from docx import Document  # pip install python-docx

def contar_palabras_docx(ruta):
    doc = Document(ruta)
    texto = " ".join(p.text for p in doc.paragraphs)
    return len(texto.split())

print(contar_palabras_docx("tu_documento.docx"))

Las palabras más repetidas con Counter

Para encontrar las palabras más frecuentes, usa Counter del módulo collections y su método most_common().

from collections import Counter
texto = "uno dos dos tres tres tres"
print(Counter(texto.split()).most_common(3))
# [('tres', 3), ('dos', 2), ('uno', 1)]

¿Solo necesitas el resultado? Pega tu texto en nuestro contador de palabras y obtén palabras, caracteres y tiempo de lectura al instante.