0% encontró este documento útil (0 votos)
16 vistas19 páginas

Python para Excel - 1

El documento es un prefacio de un libro sobre el uso de Python para automatizar y analizar datos en Excel, escrito por Felix Zumstein. Agradece a varios revisores y colaboradores por su apoyo en la creación del libro, y describe cómo está organizado en cuatro partes que cubren desde la introducción a Python hasta la programación de Excel con xlwings. También menciona la importancia de Python en el manejo de grandes conjuntos de datos que superan las capacidades de Excel.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
16 vistas19 páginas

Python para Excel - 1

El documento es un prefacio de un libro sobre el uso de Python para automatizar y analizar datos en Excel, escrito por Felix Zumstein. Agradece a varios revisores y colaboradores por su apoyo en la creación del libro, y describe cómo está organizado en cuatro partes que cubren desde la introducción a Python hasta la programación de Excel con xlwings. También menciona la importancia de Python en el manejo de grandes conjuntos de datos que superan las capacidades de Excel.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 19

Traducido del inglés al español - www.onlinedoctranslator.

com

Pitón
para Excel
Un entorno moderno para la automatización y
el análisis de datos

Felix Zumstein
Tuve mucha suerte de que el libro fuera revisado por revisores de tecnología altamente
calificados y realmente aprecio el arduo trabajo que pusieron bajo mucha presión de tiempo.
¡Gracias por toda su ayuda, Jordan Goldmeier, George Mount, Andreas Clenow, Werner Brönni‐
mann y Eric Moreira!

Un agradecimiento especial para Björn Stiel, que no era solo un revisor de tecnología, sino de quien también
aprendí muchas de las cosas sobre las que estoy escribiendo en este libro. ¡He disfrutado trabajando contigo
estos últimos años!

Por último, pero no menos importante, me gustaría extender mi gratitud a Eric Reynolds, quien
fusionó su proyecto ExcelPython en la base de código xlwings en 2016. También rediseñó todo
el paquete desde cero, haciendo de mi horrible API de los primeros días una cosa de el pasado.
¡Muchos gracias!

xviii | Prefacio
Cómo contactarnos
Dirija sus comentarios y preguntas sobre este libro al editor:

O'Reilly Media, Inc.


1005 Gravenstein Highway North
Sebastopol, CA 95472
800-998-9938 (en los Estados Unidos o Canadá)
707-829-0515 (internacional o local)
707-829-0104 (fax)

Tenemos una página web para este libro, donde enumeramos erratas, ejemplos y cualquier
información adicional. Puede acceder a esta página enhttps://oreil.ly/py4excel.

Correo electrónico [email protected] para comentar o hacer preguntas técnicas sobre este
libro.

Para obtener más información sobre nuestros libros, cursos, conferencias y noticias, visite nuestro sitio web
en http://www.oreilly.com.

Encuentranos en Facebook: http://facebook.com/oreilly. Síguenos

en Twitter:http://twitter.com/oreillymedia. Míranos en YouTube:

http://www.youtube.com/oreillymedia.

Expresiones de gratitud

Como autor por primera vez, estoy increíblemente agradecido por la ayuda que recibí de tantas personas en
el camino. ¡Ellos hicieron este viaje mucho más fácil para mí!

En O'Reilly, me gustaría agradecer a mi editora, Melissa Potter, quien hizo un gran trabajo
manteniéndome motivada y dentro del programa y quien me ayudó a convertir este libro en una
forma legible. También me gustaría agradecer a Michelle Smith, que trabajó conmigo en la propuesta
del libro inicial, y a Daniel Elfanbaum, que nunca se cansó de responder a mis preguntas técnicas.

Un gran agradecimiento a todos mis colegas, amigos y clientes que invirtieron muchas horas en leer
las primeras versiones de mis borradores. Sus comentarios fueron cruciales para hacer que el libro
fuera más fácil de entender, y algunos de los estudios de casos están inspirados en problemas de
Excel del mundo real que compartieron conmigo. Mi agradecimiento a Adam Rodríguez, Mano
Beeslar, Simon Schiegg, Rui Da Costa, Jürg Nager y Christophe de Montrichard.

También recibí comentarios útiles de los lectores de la versión de lanzamiento anticipado que se
publicó en la plataforma de aprendizaje en línea de O'Reilly. ¡Gracias Felipe Maion, Ray Doue,
Kolyu Minevski, Scott Drummond, Volker Roth y David Ruggles!

Prefacio xvii
con Git, también puede usar Git para clonar el repositorio en su disco duro local. Puede colocar la
carpeta en cualquier lugar que desee, pero me referiré a ella ocasionalmente de la siguiente manera
en este libro:

C: \ Usuarios \nombre de usuario\ python-para-excel

Simplemente descargando y descomprimiendo el archivo ZIP en Windows, terminará con una estructura de
carpetas similar a esta (tenga en cuenta los nombres de carpeta repetidos):

C: \ ... \ Descargas \ python-for-excel-1st-edition \ python-for-excel-1st-edition

Copiar el contenido de esta carpeta en una que cree en C: \ Users \ <nombre de usuario> \ python-for-
excel podría facilitarle el seguimiento. Las mismas observaciones son válidas para macOS, es decir,
copie los archivos a/Usuarios / <nombre de usuario> / python-for-excel.

Si tiene una pregunta técnica o un problema al utilizar los ejemplos de código, envíe un correo
electrónico a [email protected].

Este libro está aquí para ayudarlo a hacer su trabajo. En general, si se ofrece un código de
ejemplo con este libro, puede utilizarlo en sus programas y documentación. No es necesario
que se comunique con nosotros para obtener permiso a menos que esté reproduciendo una
parte significativa del código. Por ejemplo, escribir un programa que utiliza varios fragmentos
de código de este libro no requiere permiso. Vender o distribuir ejemplos de libros de O'Reilly
requiere permiso. Responder una pregunta citando este libro y citando un código de ejemplo
no requiere permiso. La incorporación de una cantidad significativa de código de ejemplo de
este libro en la documentación de su producto requiere permiso.

Apreciamos la atribución, pero generalmente no la exigimos. Una atribución


generalmente incluye el título, el autor, el editor y el ISBN. Por ejemplo: "Python para Excel
por Felix Zumstein (O'Reilly). Copyright 2021 Zoomer Analytics LLC, 978-1-492-08100-5 ".

Si cree que el uso que hace de los ejemplos de código está fuera del uso legítimo o del permiso otorgado
anteriormente, no dude en contactarnos en [email protected].

Aprendizaje en línea O'Reilly

Durante más de 40 años, O'Reilly Media ha proporcionado capacitación,


conocimiento y conocimientos en tecnología y negocios para ayudar a las
empresas a tener éxito.

Nuestra red única de expertos e innovadores comparte su conocimiento y experiencia a través de


libros, artículos y nuestra plataforma de aprendizaje en línea. La plataforma de aprendizaje en línea de
O'Reilly le brinda acceso bajo demanda a cursos de capacitación en vivo, rutas de aprendizaje en
profundidad, entornos de codificación interactivos y una amplia colección de texto y video de O'Reilly y
más de 200 editores. Para más información visitehttp://oreilly.com.

xvi | Prefacio
Las convenciones usadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Itálico
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Ancho constante
Se utiliza para listas de programas, así como dentro de párrafos para referirse a elementos de
programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de
entorno, declaraciones y palabras clave.

Ancho constante en negrita


Muestra comandos u otro texto que el usuario debe escribir literalmente.

Cursiva de ancho constante


Muestra texto que debe ser reemplazado por valores proporcionados por el usuario o por valores determinados
por contexto.

Este elemento significa un consejo o sugerencia.

Este elemento significa una nota general.

Este elemento indica una advertencia o precaución.

Usar ejemplos de código


Estoy manteniendo un Página web con información adicional para ayudarle con este libro.
Asegúrese de revisarlo, especialmente si tiene algún problema.

El material complementario (ejemplos de código, ejercicios, etc.) está disponible para descargar enhttps://
github.com/fzumstein/python-for-excel. Para descargar este repositorio complementario, haga clic en el
botón verde Código, luego seleccione Descargar ZIP. Una vez descargado, haga clic derecho en el archivo en
Windows y seleccione Extraer todo para descomprimir los archivos contenidos en una carpeta. En macOS,
simplemente haga doble clic en el archivo para descomprimirlo. Si sabes trabajar

Prefacio xv
herramientas: nos permiten hacer clic en un botón para que Python realice algo que usted
pudo haber hecho anteriormente con macros VBA, como un cálculo computacionalmente
costoso. También aprenderemos a escribir funciones definidas por el usuario.1 (UDF) en
Python en lugar de VBA.

Es importante comprender la diferencia fundamental entre leer y escribir Excel


archivos (Parte III) y programar el Excel solicitud (Parte IV) como se visualiza enFigura
P-1.

Figura P-1. Leer y escribir archivos de Excel (Parte III) vs.programar Excel (Parte IV)

Ya que Parte III no requiere una instalación de Excel, todo funciona en todas las plataformas
compatibles con Python, principalmente Windows, macOS y Linux. Parte IV, sin embargo, solo
funcionará en aquellas plataformas compatibles con Microsoft Excel, es decir, Windows y
macOS, ya que el código se basa en una instalación local de Microsoft Excel.

Versiones de Python y Excel


Este libro está basado en Python 3.8, que es la versión de Python que viene con la última
versión de la distribución de Anaconda Python en el momento de escribir este artículo. Si
desea utilizar una versión más reciente de Python, siga las instrucciones en elpágina de
inicio del libro, pero asegúrese de no utilizar una versión anterior. Ocasionalmente haré
un comentario si algo cambia con Python 3.9.

Este libro también espera que utilice una versión moderna de Excel, es decir, al menos Excel
2007 en Windows y Excel 2016 en macOS. La versión de Excel instalada localmente que viene
con la suscripción a Microsoft 365 también funcionará perfectamente; de hecho, incluso la
recomiendo, ya que tiene las funciones más recientes que no encontrará en otras versiones de
Excel. También fue la versión que usé para escribir este libro, por lo que si usa otra versión de
Excel, a veces puede ver una pequeña diferencia en el nombre o la ubicación de un elemento
del menú.

1 Microsoft ha comenzado a utilizar el término funciones personalizadas en lugar de UDF. En este libro, seguiré llamando
ellos UDF.

xiv | Prefacio
Si usted es un desarrollador experimentado de VBA, encontrará comparaciones
regulares entre Python y VBA que le permitirán sortear los errores comunes y
comenzar a funcionar.

Este libro también puede ser útil si es un desarrollador de Python y necesita aprender acerca de las
diferentes formas en que Python puede manejar la aplicación de Excel y los archivos de Excel para
poder elegir el paquete correcto dados los requisitos de sus usuarios comerciales.

Cómo está organizado este libro


En este libro, le mostraré todos los aspectos de la Python para Excel historia dividida en cuatro partes:

Parte I: Introducción a Python


Esta parte comienza analizando las razones por las que Python es un compañero tan
agradable para Excel antes de presentar las herramientas que usaremos en este libro: la
distribución de Anaconda Python, Visual Studio Code y los cuadernos de Jupyter. Esta parte
también le enseñará suficiente Python para poder dominar el resto de este libro.

Parte II: Introducción a los pandas


pandas es la biblioteca de referencia de Python para el análisis de datos. Aprenderemos cómo
reemplazar los libros de Excel con una combinación de cuadernos de Jupyter y pandas. Por lo
general, el código de pandas es más fácil de mantener y más eficiente que un libro de trabajo de
Excel, y puede trabajar con conjuntos de datos que no caben en una hoja de cálculo. A diferencia
de Excel, pandas te permite ejecutar tu código donde quieras, incluida la nube.

Parte III: Lectura y escritura de archivos de Excel sin Excel


Esta parte trata sobre la manipulación de archivos de Excel mediante el uso de uno de los
siguientes paquetes de Python: pandas, OpenPyXL, XlsxWriter, pyxlsb, xlrd y xlwt. Estos
paquetes pueden leer y escribir libros de trabajo de Excel directamente en el disco y, como
tales, reemplazan la aplicación de Excel: como no requiere una instalación de Excel,
funcionan en cualquier plataforma compatible con Python, incluidos Windows, macOS y
Linux. Un caso de uso típico de un paquete lector es leer datos de archivos de Excel que
recibe cada mañana de una empresa o sistema externo y almacenar su contenido en una
base de datos. Un caso de uso típico de un paquete de escritor es proporcionar la
funcionalidad detrás del famoso botón "Exportar a Excel" que se encuentra en casi todas
las aplicaciones.

Parte IV: Programación de la aplicación Excel con xlwings


En esta parte, veremos cómo podemos usar Python con el paquete xlwings para
automatizar la aplicación de Excel en lugar de leer y escribir archivos de Excel en el
disco. Por lo tanto, esta parte requiere que tenga una instalación local de Excel.
Aprenderemos a abrir libros de Excel y a manipularlos delante de nuestros ojos.
Además de leer y escribir archivos a través de Excel, crearemos Excel interactivo

Prefacio xiii
reutilice sus habilidades de Python fuera de Excel: si necesita ampliar su poder de
cómputo, puede mover fácilmente su modelo cuantitativo, simulación o aplicación de
aprendizaje automático a la nube, donde los recursos informáticos prácticamente
ilimitados lo están esperando.

Por qué escribí este libro


A través de mi trabajo en xlwings, el paquete de automatización de Excel que encontraremos enParte
IV de este libro, estoy en estrecho contacto con muchos usuarios que utilizan Python para Excel
- ya sea a través del rastreador de problemas en GitHub, una pregunta sobre Desbordamiento de pila o en un
evento físico como una reunión o una conferencia.

De forma regular, se me pide que recomiende recursos para comenzar con Python. Si bien
ciertamente no hay escasez de introducciones de Python, a menudo son demasiado generales (nada
sobre el análisis de datos) o demasiado específicas (introducciones científicas completas). Sin
embargo, los usuarios de Excel tienden a estar en algún punto intermedio: ciertamente trabajan con
datos, pero una introducción científica completa puede ser demasiado técnica. También suelen tener
requisitos específicos y preguntas que no se responden en ninguno de los materiales existentes.
Algunas de estas preguntas son:

• ¿Qué paquete de Python-Excel necesito para qué tarea?


• ¿Cómo muevo mi conexión de base de datos de Power Query a Python?
• ¿Cuál es el equivalente del autofiltro de Excel o la tabla dinámica en Python?

Escribí este libro para que no tenga conocimientos de Python para poder automatizar sus tareas
centradas en Excel y aprovechar las herramientas de análisis de datos y de computación científica de
Python en Excel sin ningún desvío.

Para quien es este libro


Si es un usuario avanzado de Excel que quiere superar los límites de Excel con un lenguaje de
programación moderno, este libro es para usted. Por lo general, esto significa que pasas horas
al mes descargando, limpiando y copiando / pegando grandes cantidades de datos en hojas de
cálculo de misión crítica. Si bien hay diferentes formas de superar los límites de Excel, este libro
se centrará en cómo usar Python para esta tarea.

Debe tener un conocimiento básico de programación: ayuda si ya ha escrito una función o


un bucle for (sin importar en qué lenguaje de programación) y tiene una idea de lo que es
un entero o una cadena. Incluso podría dominar este libro si está acostumbrado a escribir
fórmulas de celdas complejas o si tiene experiencia con el ajuste de macros VBA grabadas.
Sin embargo, no se espera que tenga ninguna experiencia específica de Python, ya que
hay introducciones a todas las herramientas que usaremos, incluida una introducción a
Python en sí.

xii | Prefacio
Prefacio

Microsoft está ejecutando un foro de comentarios para Excel en UserVoice donde todos pueden
enviar una nueva idea para que otros la voten. La solicitud de función más votada es "Python
como lenguaje de programación de Excel" y tiene aproximadamente el doble de votos que la
segunda solicitud de función más votada. Aunque no sucedió nada desde que se agregó la idea
en 2015, los usuarios de Excel se sintieron llenos de nuevas esperanzas a fines de 2020 cuando
Guido van Rossum, el creador de Python,tuiteó que su “jubilación era aburrida” y que se uniría a
Microsoft. Si su movimiento tiene alguna influencia en la integración de Excel y Python, no lo sé.
Sin embargo, sí sé qué hace que esta combinación sea tan atractiva y cómo puede comenzar a
usar Excel y Python juntos, hoy. Y esto es, en pocas palabras, de lo que trata este libro.

La principal fuerza impulsora detrás de la Python para Excel historia es el hecho de que vivimos
en un mundo de datos. Hoy en día, hay enormes conjuntos de datos disponibles para todos y
para todo. A menudo, estos conjuntos de datos son tan grandes que ya no caben en una hoja
de cálculo. Hace unos años, esto puede haber sido denominadobig data, pero hoy en día, un
conjunto de datos de unos pocos millones de filas no es nada especial. Excel ha evolucionado
para hacer frente a esa tendencia: introdujo Power Query para cargar y limpiar conjuntos de
datos que no caben en una hoja de cálculo y Power Pivot, un complemento para realizar análisis
de datos en estos conjuntos de datos y presentar los resultados. Power Query se basa en el
lenguaje de fórmulas de Power Query M (M), mientras que Power Pivot define fórmulas
utilizando Expresiones de análisis de datos (DAX). Si también desea automatizar algunas cosas
en su archivo de Excel, entonces usaría el lenguaje de automatización integrado de Excel, Visual
Basic para Aplicaciones (VBA). Es decir, para algo bastante simple, puede terminar usando VBA,
M y DAX. Un problema con esto es que todos estos lenguajes solo le sirven en el mundo de
Microsoft, principalmente en Excel y Power BI (presentaré Power BI brevemente enCapítulo 1).

Python, por otro lado, es un lenguaje de programación de propósito general que se ha


convertido en una de las opciones más populares entre analistas y científicos de datos. Si usa
Python con Excel, puede usar un lenguaje de programación que sea bueno en todos los
aspectos de la historia, ya sea automatizar Excel, acceder y preparar conjuntos de datos o
realizar análisis de datos y tareas de visualización. Lo más importante es que puedes

xi
Depurar UDF 269
Temas avanzados de UDF 271
Almacenamiento en caché de optimización del 272
rendimiento básico 274
El decorador secundario 276
Conclusión 277

UNA. Ambientes Conda. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

B. Funcionalidad avanzada de VS Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285

C. Conceptos avanzados de Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

Índice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299

x | Tabla de contenido
Convertidores y opciones 196
Gráficos, imágenes y casos de estudio de nombres 198
definidos (revisado nuevamente): Temas avanzados de 202
xlwings sobre informes de Excel 204
Fundaciones xlwings 204
Mejorando el desempeño 206
Cómo solucionar la falta de funcionalidad 207
Conclusión 208

10. Herramientas de Excel impulsadas por Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209


Usando Excel como Frontend con xlwings 209
Complemento de Excel 210
Comando de inicio rápido 212
Ejecutar principal 212
Función RunPython 213
Despliegue 218
Dependencia de Python 218
Libros de trabajo independientes: deshacerse de la jerarquía de 219
configuración del complemento xlwings 220
Ajustes 221
Conclusión 222

11. El rastreador de paquetes de Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223


Lo que construiremos 223
Funcionalidad central 226
API web 226
Bases de datos 229
Excepciones 238
Estructura de la aplicación 240
Interfaz 241
Backend 245
Depuración 248
Conclusión 250

12. Funciones definidas por el usuario (UDF). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251


Introducción a las UDF 252
Inicio rápido de UDF 252
Estudio de caso: Tendencias de Google 257
Introducción a Tendencias de Google 257
Trabajar con DataFrames y Matrices dinámicas Obtención 258
de datos de Tendencias de Google 263
Trazado con UDF 267

Tabla de contenido | ix
Cambio y cambios porcentuales 131
Rebase y correlación 133
Remuestreo 136
Ventanas enrollables 137
Limitaciones con pandas 138
Conclusión 139

Parte III. Leer y escribir archivos de Excel sin Excel

7. Manipulación de archivos de Excel con pandas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143


Estudio de caso: Informes de Excel 143
Leer y escribir archivos de Excel con pandas 147
La función read_excel y la clase ExcelFile El 147
método to_excel y las limitaciones de la clase 152
ExcelWriter al usar pandas con archivos Excel 154
Conclusión 154

8. Manipulación de archivos de Excel con paquetes Reader y Writer. . . . . . . . . . . . . . . . . . . . . . 155


Los paquetes Reader y Writer 155
Cuándo usar Qué paquete 156
El módulo excel.py 157
OpenPyXL 159
XlsxWriter 163
pyxlsb 165
Temas avanzados de lectura y 166
escritura de xlrd, xlwt y xlutils 169
Trabajo con archivos grandes de Excel Formateo de 169
marcos de datos en el estudio de caso de Excel 173
(revisado): Conclusión de informes de Excel 178
179

Parte IV. Programación de la aplicación Excel con xlwings

9. Automatización de Excel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183


Empezando con xlwings 184
Uso de Excel como visor de datos 184
El modelo de objetos de Excel 186
Ejecutando código VBA 193
Convertidores, opciones y colecciones 194
Trabajar con DataFrames 195

viii | Tabla de contenido


Funciones universales de 79
vectorización y difusión (ufunc) 80
Creación y manipulación de matrices 81
Obtención y configuración de elementos de 82
matriz Constructores de matriz útiles 83
Ver vs. Copiar 83
Conclusión 84

5. Análisis de datos con pandas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85


DataFrame y Series 85
Índice 88
Columnas 90
Manipulación de datos 91
Seleccionar datos 92
Configuración de datos 97
Datos perdidos 100
Datos duplicados 102
Operaciones aritmeticas 103
Trabajar con columnas de texto 105
aplicando una función 105
Ver vs. Copiar 107
Combinando DataFrames 107
Concatenar 108
Unirse y fusionarse 109
Estadística descriptiva y agregación de datos 111
Estadísticas descriptivas 111
Agrupamiento 112
Girar y derretir 113
Graficado 115
Matplotlib 115
Plotly 117
Importación y exportación de marcos de datos 119
Exportación de archivos CSV 120
Importación de archivos CSV 121
Conclusión 123

6. Análisis de series de tiempo con pandas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


DatetimeIndex 126
Creación de un índice de fecha y hora Filtrado 126
de un índice de fecha y hora Trabajo con zonas 128
horarias Manipulaciones comunes de series de 129
tiempo 131

Tabla de contenido | vii


El orden de ejecución del modo de edición frente 31
al modo de comando importa 32
Cerrar Jupyter Notebooks 33
Visual Studio Code 34
Instalación y configuración 36
ejecutando un script de Python 37
Conclusión 41

3. Introducción a Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Tipos de datos 43
Objetos 44
Tipos numéricos 45
Booleanos 47
Instrumentos de cuerda 49
Indexación y corte 50
Indexación 51
Rebanar 52
Estructuras de datos 52
Liza 53
Diccionarios 55
Tuplas 57
Conjuntos 57
Flujo de control 58
Bloques de código y declaración de paso 58
La instrucción if y las expresiones condicionales 59
Los bucles for y while 60
Organización de códigos de comprensiones de listas, 63
diccionarios y conjuntos 64
Funciones sesenta y cinco

Los módulos y la declaración de 66


importación La clase datetime 69
PEP 8: Guía de estilo para código Python 70
Sugerencias de tipo de 73
código PEP 8 y VS 73
Conclusión 74

Parte II. Introducción a los pandas

4. Fundaciones NumPy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Empezando con NumPy 77
Matriz NumPy 77

vi | Tabla de contenido
Tabla de contenido

Prefacio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi

Parte I. Introducción a Python

1. ¿Por qué Python para Excel? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3


Excel es un lenguaje de programación 4
Excel en las noticias Mejores 5
prácticas de programación Excel 6
moderno 11
Python para Excel 12
Legibilidad y capacidad de mantenimiento 13
Administrador de paquetes y biblioteca estándar 14
Computación científica 15
Conclusión de compatibilidad dieciséis

multiplataforma de las características del 17


lenguaje moderno 17

2. Entorno de desarrollo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
La distribución de Anaconda Python 20
Instalación 20
Aviso Anaconda 21
Python REPL: una sesión interactiva de Python 24
Administradores de paquetes: Conda y pip 25
Ambientes Conda 27
Cuadernos Jupyter 27
Ejecución de Jupyter Notebooks 28
Notebook Cells 29

v
Python para Excel

por Felix Zumstein

Copyright © 2021 Zoomer Analytics LLC. Reservados todos los derechos.

Impreso en los Estados Unidos de América.

Publicado por O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472.

Los libros de O'Reilly se pueden comprar con fines educativos, comerciales o promocionales de ventas. Las ediciones en línea también están
disponibles para la mayoría de los títulos (http://oreilly.com). Para obtener más información, comuníquese con nuestro departamento de
ventas corporativo / institucional: 800-998-9938 [email protected].

Editor de adquisiciones: Michelle Smith Indexador: nSight Inc.


Editor de desarrollo: Melissa Potter Diseñador de interiores: David Futato

Editor de producción: Daniel Elfanbaum Diseñador de la portada: Karen Montgomery

Editor de copia: Piper Editorial Consulting, LLC Ilustrador: Kate Dullea


Corrector de pruebas: nSight Inc.

Marzo de 2021: Primera edición

Historial de revisiones de la primera edición

2021-03-04: primer lanzamiento

Ver http://oreilly.com/catalog/errata.csp?isbn=9781492081005 para conocer los detalles de la versión.

El logotipo de O'Reilly es una marca registrada de O'Reilly Media, Inc. Python para Excel, la imagen de portada y la imagen
comercial relacionada son marcas comerciales de O'Reilly Media, Inc.

Las opiniones expresadas en este trabajo son las del autor y no representan las opiniones del editor. Si bien el
editor y el autor han realizado esfuerzos de buena fe para garantizar que la información y las instrucciones
contenidas en este trabajo sean precisas, el editor y el autor renuncian a toda responsabilidad por errores u
omisiones, incluida, entre otras, la responsabilidad por daños resultantes del uso de o dependencia de este
trabajo. El uso de la información y las instrucciones contenidas en este trabajo es bajo su propio riesgo. Si
alguna muestra de código u otra tecnología que este trabajo contiene o describe está sujeta a licencias de
código abierto o derechos de propiedad intelectual de otros, es su responsabilidad asegurarse de que su uso
cumpla con dichas licencias y / o derechos.

978-1-492-08100-5

[LSI]
Python para Excel
Un entorno moderno para la automatización
y análisis de datos

Felix Zumstein

Pekín Boston Farnham Sebastopol Tokio


Excel sigue siendo una herramienta fundamental del mundo financiero, pero una gran cantidad de estos Excel
las aplicaciones son un lío irresponsable. Este libro hace un excelente trabajo mostrándote
cómo crear aplicaciones mejores y más robustas con la ayuda de xlwings.

- Werner Brönnimann, especialista en Derivados y DeFi


y cofundador de Ubinetic AG

Excel y Python son dos de las herramientas más importantes de la caja de herramientas de Business
Analytics, y juntas son mucho más grandes que la suma de sus partes. En este libro, Felix Zumstein
expone su dominio incomparable de las muchas formas de conectar Python y Excel utilizando soluciones
multiplataforma de código abierto. Será una herramienta invaluable para los analistas de negocios.
y científicos de datos por igual, y cualquier usuario de Python que busque aprovechar la
poder de Excel en su código.

- Daniel Guetta, profesor asociado de práctica profesional y


director de Business Analytics Initiative en Columbia
Business School y coautor de Python para MBA
Elogios para Python para Excel

¿Qué puede hacer Python por Excel? Si alguna vez se ha enfrentado a bloqueos inesperados de libros de trabajo,

cálculos rotos y tediosos procesos manuales, querrá averiguarlo. Python para


Excel es una descripción general completa y concisa para comenzar con Python como usuario
de una hoja de cálculo y crear productos de datos potentes con ambos. No dejes que el miedo a
aprender a codificar te aleje: Felix proporciona una base excepcional para aprender Python de la
que incluso los programadores experimentados podrían beneficiarse. Además, enmarca esta
información de una manera que sea rápidamente accesible y aplicable a usted como usuario de
Excel. Al leer este libro, puede decir rápidamente que fue escrito por alguien con años de experiencia
en la enseñanza y el trabajo con clientes sobre cómo usar Excel en toda su extensión con la ayuda de
Programación Python. Felix está especialmente indicado para mostrarte las posibilidades de aprendizaje.
Python para Excel; Espero que disfrutes de la clase magistral tanto como yo.

- George Mount, fundador, Stringfest Analytics

Python es la progresión natural de Excel y es tentador simplemente descartar Excel


todos juntos. Tentador, pero poco realista. Excel está aquí, y aquí para quedarse, tanto en el
mundo corporativo y como una herramienta de escritorio útil en el hogar y en la oficina.
Este libro proporciona el puente tan necesario entre estos dos mundos. Explica como puedes
integre Python en Excel y libérese del inevitable desastre de enormes libros de
trabajo, miles de fórmulas y horribles hacks de VBA. Python para Excel es probable
el libro más útil en Excel que he leído y una lectura absolutamente obligada para
cualquier usuario avanzado de Excel. ¡Un libro muy recomendable!

- Andreas F. Clenow, CIO Acies Asset Management y autor


de best-sellers internacionales Siguiendo la tendencia, Acciones en movimiento,
y Trading evolucionó

También podría gustarte