Tabla de palabras

La práctica consistirá en lo siguiente:

1.- Descarga el siguiente fichero espaniol.pdf (cambia la extensión a txt una vez descargado) y crea, en la base de datos pruebita.db, la tabla tpalabras con los campos id (integer autoincrement) y palabra (text)

2.- Estudia el siguiente código:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sqlite3
#Leemos el fichero de las palabras
nombrefichero = 'espaniol.txt'

try:
	fichero = open(nombrefichero, 'r')
except:
	print "Hay un problema con el fichero %s" %(nombrefichero)
	exit()

contador = 0  #Nos va a indicar el número de palabras insertadas
conex = sqlite3.connect('pruebitas.db')
cursor = conex.cursor()


consulta = 'insert into tpalabras(palabra) values(?)'
for linea in fichero:
	print linea
	cursor.execute(consulta,(linea.decode('utf-8'),))
	contador += 1


conex.commit() #El commit, para grabarlo todo bien, bien
cursor.close() #Cerramos el cursor
conex.close()  #Cerramos la conexión	
fichero.close() #Cerramos el fichero
print "El número de datos insertados es de %d" % (contador) 

3.- ¿Qué pasa si intentas grabar los datos del fichero quitando .decode(‘utf-8’)? ¿Por qué?

4.- Lanza, con el .decode, el script otra vez, pero esta vez con SQLITEMAN abierto y la base de datos pruebitas.db activa. ¿Podrías explicar qué pasa y por qué?

5.- Lanza consultas, desde SQLITEMAN, para comprobar que no existen en ella artículos, preposiciones y demás.

6.- Crea un nuevo fichero con todas estas “cosicas” que faltan y modifica el script anterior para realizar la inserción de esos elementos que faltan.

7.- Busca información de cómo grabar texto en un fichero con python. Vamos a realizar la actividad de generar un texto de manera aleatoria.

A por ello…

Un saludo