Como Wrapear un texto en Python Hola!, siguiendo con la serie de mini artículos para aprender diferentes conceptos de programación en distintos lenguajes, hoy os traemos un artículo sobre cómo Wrapear un texto en Python, recuerda que si te ha gustado el artículo compártelo!! Manos a la obra: El módulo textwrap, entre muchas otras funcionalidades, a través del método wrap(), nos permite wrapear un texto extenso, obteniendo una lista con cada línea de texto conservando la longitud deseada: textwarp.wrap(texto, 80) Retorna una lista donde cada elemento será una línea de texto, de longitud no superior a los 80 caracteres. import textwrap texto = Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an. Qui ut wisi vocibus suscipiantur, quo dicit ridens inciderint id. Quo mundi lobortis reformidans eu, legimus senserit definiebas an eos. Eu sit tincidunt incorrupte definitionem, vis mutat affert percipit cu, eirmod consectetuer signiferumque eu per. In usu latine equidem dolores. Quo no falli viris intellegam, ut fugit veritus placerat per. wraps = textwrap.wrap(texto, 60) for linea in wraps: print linea
Introducción a AngularJS Hola! en nuestro post de hoy nos vamos a centrar en uno de los frameworks JavaScript más populares, recuerda que si te ha gustado este artículo comparte!! En los últimos años hemos visto frameworks para manipular el DOM pero Angular vino a cambiar las cosas, ya no solo es manipular sino aumentar las capacidades. Si eres nuevo en Angular y quieres aprender las bases, te recomiendo que sigas leyendo. Para iniciarte en AngularJS considero que lo más importante es conocer sus conceptos. Si dominas los conceptos podrás reconocer los patrones de cómo programar usando Angular. Vista / Plantillas Las vistas o templates, o como quieras llamarle, es simplemente HTML con ciertos atributos y expresiones que aumentan la funcionalidad del mismo. Uno de los atributos que más veras en todo los tutoriales de Angular es: ngapp. Este atributo le dice al framework que todo lo que esté dentro de la etiqueta que lo contenga, será parte de la aplicación angular. Otros atributos vienen dados por el framework o pueden crearse mediante directivas. Veremos de directivas más adelante. Cambiando a expresiones, una expresión de Angular es simplemente código dentro de doble corchetes {{ expresión}}. Un ejemplo de expresión es el siguiente: {{ 2 + 2 }}. Esto no se escribirá como tal en el sitio web sino que se presentará el valor 4, que es el resultado de la operación de la expresión 2+2. Una expresión no solamente son operaciones matemáticas, una expresión puede ser sacar el valor de una variable del modelo. Por ejemplo: {{ persona.nombre }}. Esta expresión retornará el valor de la propiedad nombre del objeto persona. Controlador En Angular, un Controlador es simplemente una función utilizada para aumentar
las propiedades y capacidades del Scope. Por ejemplo, veamos el siguiente ejemplo: var app = angular.module( ejemplo,[]); app.controller( BienvenidaController, [ $scope, function($scope) { $scope.bienvenida= Hola! ; }]); En este ejemplo creamos un módulo principal y le agregamos un controlador. Este controlador recibe un primer parámetro que es el nombre y un segundo parámetro que es una lista de dependencias y una función al final que es realmente la función del controlador. Este controlador aumenta el $scope, agregándole una variable llamada bienvenida y asignándole un valor de Hola!. Al igual que agregar variables, podemos agregar funciones. Un controlador debe encargarse de la lógica del negocio como tal y no preocuparse de, por ejemplo, saber cómo ir a buscar datos a una base de datos. Para ir a buscar datos, el controlador utilizará servicios o fábricas (las veremos más adelante) que se inyectarán dentro de la definición del controlador al igual que se inyecta el $scope. Un ejemplo para inyectar un servicio es el siguiente: var app = angular.module( ejemplo,[]); app.controller( BienvenidaController, [ $scope, ServicioDatos, function($scope, servicio) { $scope.bienvenida= $servicio.getdata(); }]); Hemos agregado al controlador un servicio llamado ServicioDatos y lo hemos pasado a la función del controlador como una variable servicio. Como ven pueden tener diferentes nombres pero se asocian por el orden en que se van agregando. En el valor de la propiedad $scope.bienvenida hemos mandado a pedir el dato del servicio. Scope El $scope es una variable que se encarga de realizar la magia en Angular. La
variable $scope véanla como la conexión que existe entre las vistas (plantillas HTML) y los controladores (funcionas js). Cuando en un controlador agregas una variable o una funciona a $scope, esa variable o función la tendrás accesible en la vista donde ese controlador esté instanciado. En resumen: una variable compartida entre vista y controlador. Directivas Las directivas en Angular básicamente son el punto donde más se nota la función del framework para aumentar la funcionalidad de HTML. Una directiva básicamente es la forma en que Angular modifica el DOM ya sea para agregar comportamiento, funcionalidad o atributos. Dentro de las directivas encontramos: ng-model ng-bind ng-href Hello <input ng-model= name > <hr/> <span ng-bind= name ></span> En este ejemplo de arriba vemos 2 directivas en uso: ng-model y ng-bind. Esto quiere decir que cuando el input (ng-model) cambie, el span (ng-bind) cambiará porque está ligado al modelo. Lo bonito de Angular es que puedes crear tus propias directivas, permitiéndote extender los atributos, funcionalidades, comportamientos y etiquetas de HTML. Filtros Un filtro formatea el valor de una expresión para ser mostrada al usuario. Pueden ser usados en plantillas de las vistas, en controladores o servicios. Adicionalmente, como todo es extensible, puedes crear tus propios filtros. Los filtros pueden aplicarse en una vista de la siguiente manera: {{ expression filter }}. Un ejemplo de esto es: {{ 12 currency }} : Esta expresión devolverá un valor (12) formateado como moneda: $ 12.00. Fábricas/Servicios Los servicios en Angular son objetos substituibles y reutilizables que se conectan por medio de la inyección de dependencias, como lo vimos en la parte
de controladores. Puedes usar servicios para organizar, compartir y testear el código de tu aplicación. Cómo utilizar VBA para importar datos de Excel a Access Después del parón obligado por Navidad volvemos con nuestro blog, hoy lo dedicamos a aprender mas cosas sobre Excel, recuerda que si te ha gustado lo que has leído compártelo!! Este articulo ha sido extraido de nuestro curso Excel avanzado y programacion VBA, el cual lo puedes consultar pinchando aqui. Aprender a utilizar Visual Basic para aplicaciones para importar datos a Access puede hacer que su aplicación de base de datos más dinámico. En VBA, puede utilizar una combinación de objetos para abrir un libro de Excel existente e importar algunos datos a una tabla de Access. Utilice la biblioteca de objetos de Microsoft Excel en VBA para abrir el libro. El objeto Recordset se utiliza para abrir una tabla existente en el acceso y guardar los datos de Excel en el mismo. Usando VBA para importar datos puede reducir significativamente la cantidad de tiempo que pasa la importación de datos de forma manual. Instrucciones: 1. Abrimos Microsoft Office Excel y escribimos datos1 en A2, y data2 en B2. Pulsamos la tecla Ctrl y S para abrir el Guardar como ventana de diálogo y guardamos el libro en C: \\ Temp \\ as. DataToImport.xlsx. 2. Abrimos Microsoft Office Access, hacemos clic en Base de datos en blanco y clic en el botón Crear. Hacemos clic en Herramientas de base de datos y posteiormente clic en Visual Basic para abrir la ventana del editor de VB hacemos clic en el menú Insertar y luego clic en módulos para insertar un nuevo módulo de código. Hacemos clic en el menú Herramientas -> Referencias, y marcamos la casilla junto a biblioteca de
objetos de Microsoft. 3. Ahora escribimos el siguiente código de VBA crear nuevo procedimiento sub : Dim xlapp As Excel.Application Dim xlbk As Excel.Workbook Dim xlsht As Excel.Worksheet Dim dbrst As Recordset Dim dbs As Database Dim sqlstr As String Public Sub ImportPreVtas() Set dbs = CurrentDb Set xlapp = Excel.Application Set xlbk = xlapp.workbooks.open( F:\Proyectos\pruebappto.xlsx ) Set xlsht = xlbk.sheets(1) sqlstr = CREATE TABLE Exceldata(columnOne string, columntwo string) DoCmd.SetWarnings False DoCmd.RunSQL sqlstr Set dbrst = dbs.openrecordset( Exceldata ) dbrst.addnew xlsht.range( A3 ).Select dbrst.fields(0).value = xlsht.range( A3 ).Value xlsht.range( B3 ).Select dbrst.fields(1).value = xlsht.range( B3 ).Value dbrst.update dbrst.close dbs.close xlbk.close End Sub 4. Presionamos F5 para ejecutar el procedimiento.