Utilice el módulo xlrd
; start here. [Descargo de responsabilidad: soy el autor]. xlrd
clasifica las celdas en texto, número, fecha, booleano, error, en blanco y vacío. Distingue las fechas de los números al inspeccionar el formato asociado a la celda (por ejemplo, "dd/mm/aaaa" frente a "0,00").
El trabajo de programar algún código para recorrer los datos ingresados por el usuario para decidir qué tipo de datos de DB usar para cada columna no es algo que pueda automatizarse fácilmente. Debería poder analizar los datos y asignar tipos como números enteros, dinero, texto, fecha, fecha y hora, etc. y escribir el código para verificar sus conjeturas. Tenga en cuenta que necesita poder hacer frente a cosas como datos numéricos o de fecha ingresados en campos de texto (puede verse bien en la GUI). Necesita una estrategia para manejar celdas que no se ajustan al tipo de datos "estimado". Necesita validar y limpiar sus datos. Asegúrate de normalizar las cadenas de texto (espacios en blanco al principio/al final de la tira, reemplaza varios espacios en blanco por un espacio. El texto de Excel es (solo BMP) Unicode; no lo pongas en ASCII o "ANSI"; trabaja en Unicode y codifica en UTF-8 para ponerlo en su base de datos.
Algunas ideas más: http://stackoverflow.com/q/9998596/395857 –