SlideShare a Scribd company logo
1 of 15
Download to read offline
O P E N
D A T A
S C I E N C E
C O N F E R E N C E_
BOSTON 2015
@opendatasci
xlwings Felix Zumstein
About me
•  Startup (2014, Zurich):
– Mainly Python for Finance
– Web based trading solutions
(Interactive Brokers)
– Lots of Excel
– Open-source: xlwings/ExcelPython
•  Previously: 9yrs in Banking /Asset Mgmt
•  Background in Finance & Economics
2
What’s in this talk?
3
The open-source Python/Excel Landscape
4
•  Pywin32
•  xlwings
•  ExcelPython
Read/Write Program/Interact
•  xlwt/xlrd
•  XlsxWriter
•  OpenPyxl
Why xlwings?
– 6 Reasons
5
(1) Installation
6
•  pip/conda install xlwings
•  or equally easy:
(2) Cross-Platform
7
+
(3) Flexibility
8
Version
2.6
2.7
3.1
3.2
3.3
3.4
32-bit
64-bit
32-bit
64-bit
2003
2010
2011 (Mac)
2013
2016 (Win + Mac*)
ArchitectureVersion Architecture
*under development
(4) Simplicity
9
>>>	
  from	
  xlwings	
  import	
  Workbook,	
  Range	
  
	
  
>>>	
  wb	
  =	
  Workbook()	
  
>>>	
  Range("A1").value	
  =	
  my_variable	
  
•  Strings
•  Numbers
•  DateTime
•  Lists (nested)
•  NumPy arrays
•  Pandas DataFrames
•  Blaze Data container (planned)
(5) Works back and forth
10
>>>	
  wb	
  =	
  Workbook()	
  
>>>	
  Range("A1").value	
  =	
  my_variable	
  
Sub	
  MyFunction()	
  
	
  RunPython	
  ("import	
  mymodule;mymodule.myfunction()")	
  
End	
  Sub	
  
(6) ExcelPython for UDFs (Windows only)
11
from	
  xlpython	
  import	
  xlfunc	
  
import	
  numpy	
  as	
  np	
  
	
  
@xlfunc	
  
def	
  matrix_mult(x,	
  y):	
  
	
  	
  	
  	
  x	
  =	
  np.atleast_2d(np.array(x))	
  
	
  	
  	
  	
  y	
  =	
  np.atleast_2d(np.array(y))	
  
	
  	
  	
  	
  return	
  x.dot(y)	
  
{=matrix_mult(A1:B2,D1:E2)}	
  
Access from Excel via Array Formula:
Write User Defined Functions in Python:
What’s next?
12
What’s next?
•  Add-in
•  Full integration of xlwings/ExcelPython
•  Add more features: matplotlib etc.
•  Someday…
– Google Sheets
– LibreOffice/OpenOffice
13
julia>	
  using	
  PyCall	
  
julia>	
  @pyimport	
  xlwings	
  as	
  xw	
  
	
  
julia>	
  xw.Workbook()	
  
julia>	
  xw.Range("A1",	
  asarray=true)[:table][:value]	
  
	
  
Use xlwings from Julia
14
>>>	
  from	
  xlwings	
  import	
  Workbook,	
  Range	
  
	
  
>>>	
  wb	
  =	
  Workbook()	
  
>>>	
  Range("A1",	
  asarray=True).table.value	
  
DEMO
xlwings.org
15

More Related Content

Viewers also liked

3.3.3 ppp slidesk
3.3.3 ppp slidesk3.3.3 ppp slidesk
3.3.3 ppp slideskBohorquez0
 
Presentacion all star fgx en español forever green express - fg-xpress - pe...
Presentacion all star fgx en español   forever green express - fg-xpress - pe...Presentacion all star fgx en español   forever green express - fg-xpress - pe...
Presentacion all star fgx en español forever green express - fg-xpress - pe...Raoni Claro
 
Herramientas educativ as
Herramientas educativ asHerramientas educativ as
Herramientas educativ asJoyschimi
 
Presentacion all star fgx en español forever green express - fg-xpress - pe...
Presentacion all star fgx en español   forever green express - fg-xpress - pe...Presentacion all star fgx en español   forever green express - fg-xpress - pe...
Presentacion all star fgx en español forever green express - fg-xpress - pe...Raoni Claro
 
зимующие птицы нашего края
зимующие птицы нашего краязимующие птицы нашего края
зимующие птицы нашего краяredkina
 
Arritmias semiologia
Arritmias semiologiaArritmias semiologia
Arritmias semiologiapauloalambert
 
Unidad 3 de tecnologia aplicada a la educación
Unidad 3 de tecnologia aplicada a la educaciónUnidad 3 de tecnologia aplicada a la educación
Unidad 3 de tecnologia aplicada a la educaciónesperanzac83
 
Biography of Mahatma Gandhi
Biography of Mahatma GandhiBiography of Mahatma Gandhi
Biography of Mahatma Gandhichampchild
 
Keith Diploma0001
Keith Diploma0001Keith Diploma0001
Keith Diploma0001Keith Cook
 

Viewers also liked (14)

3.3.3 ppp slidesk
3.3.3 ppp slidesk3.3.3 ppp slidesk
3.3.3 ppp slidesk
 
Presentacion all star fgx en español forever green express - fg-xpress - pe...
Presentacion all star fgx en español   forever green express - fg-xpress - pe...Presentacion all star fgx en español   forever green express - fg-xpress - pe...
Presentacion all star fgx en español forever green express - fg-xpress - pe...
 
Guia 4
Guia 4 Guia 4
Guia 4
 
Herramientas educativ as
Herramientas educativ asHerramientas educativ as
Herramientas educativ as
 
Presentacion all star fgx en español forever green express - fg-xpress - pe...
Presentacion all star fgx en español   forever green express - fg-xpress - pe...Presentacion all star fgx en español   forever green express - fg-xpress - pe...
Presentacion all star fgx en español forever green express - fg-xpress - pe...
 
зимующие птицы нашего края
зимующие птицы нашего краязимующие птицы нашего края
зимующие птицы нашего края
 
Arritmias semiologia
Arritmias semiologiaArritmias semiologia
Arritmias semiologia
 
Guia 2
Guia 2Guia 2
Guia 2
 
Guia 3
Guia 3Guia 3
Guia 3
 
Guia 1
Guia 1Guia 1
Guia 1
 
Segitiga
SegitigaSegitiga
Segitiga
 
Unidad 3 de tecnologia aplicada a la educación
Unidad 3 de tecnologia aplicada a la educaciónUnidad 3 de tecnologia aplicada a la educación
Unidad 3 de tecnologia aplicada a la educación
 
Biography of Mahatma Gandhi
Biography of Mahatma GandhiBiography of Mahatma Gandhi
Biography of Mahatma Gandhi
 
Keith Diploma0001
Keith Diploma0001Keith Diploma0001
Keith Diploma0001
 

Similar to Odsc presentation

A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementElizabeth Steiner
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnelEric Nelson
 
Ploneconf2012 talk
Ploneconf2012 talkPloneconf2012 talk
Ploneconf2012 talksimahawk
 
Presentation Exo Platform
Presentation Exo PlatformPresentation Exo Platform
Presentation Exo PlatformInria
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTWNGINX, Inc.
 
Resume_Anton_Boshoff
Resume_Anton_BoshoffResume_Anton_Boshoff
Resume_Anton_BoshoffAnton Boshoff
 
Elisa Appelsiini Agile Production Model
Elisa Appelsiini Agile Production ModelElisa Appelsiini Agile Production Model
Elisa Appelsiini Agile Production ModelToivo Vaje
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Samsung Open Source Group
 
suresh.TIBCO1
suresh.TIBCO1suresh.TIBCO1
suresh.TIBCO1suresh kv
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13Dominopoint - Italian Lotus User Group
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013Ernesto Baschny
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntfUlrich Krause
 
Creating the open source building blocks for IoT
Creating the open source building blocks for IoT Creating the open source building blocks for IoT
Creating the open source building blocks for IoT Ian Skerrett
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Tracy Kent
 
Cross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with PythonCross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with Pythonxlwings
 
Learn How-To Build Your IoT Project
Learn How-To Build Your IoT ProjectLearn How-To Build Your IoT Project
Learn How-To Build Your IoT ProjectDr. Mazlan Abbas
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Mainframe Project
 
Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013
Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013
Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013Ralf Laemmel
 

Similar to Odsc presentation (20)

A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio Management
 
Technology Roadmap by ericnel
Technology Roadmap by ericnelTechnology Roadmap by ericnel
Technology Roadmap by ericnel
 
Ploneconf2012 talk
Ploneconf2012 talkPloneconf2012 talk
Ploneconf2012 talk
 
CV Template
CV TemplateCV Template
CV Template
 
Presentation Exo Platform
Presentation Exo PlatformPresentation Exo Platform
Presentation Exo Platform
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
OpenTelemetry 101 FTW
OpenTelemetry 101 FTWOpenTelemetry 101 FTW
OpenTelemetry 101 FTW
 
Resume_Anton_Boshoff
Resume_Anton_BoshoffResume_Anton_Boshoff
Resume_Anton_Boshoff
 
Elisa Appelsiini Agile Production Model
Elisa Appelsiini Agile Production ModelElisa Appelsiini Agile Production Model
Elisa Appelsiini Agile Production Model
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
 
suresh.TIBCO1
suresh.TIBCO1suresh.TIBCO1
suresh.TIBCO1
 
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
The Latest and Greatest from OpenNTF and the IBM Social Business Toolkit, #dd13
 
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
TYPO3 6.2 LTS - TYPO3 Conference Stuttgart, 2013
 
Dd13.2013.milano.open ntf
Dd13.2013.milano.open ntfDd13.2013.milano.open ntf
Dd13.2013.milano.open ntf
 
Creating the open source building blocks for IoT
Creating the open source building blocks for IoT Creating the open source building blocks for IoT
Creating the open source building blocks for IoT
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
 
Cross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with PythonCross-platform Spreadsheet Automation with Python
Cross-platform Spreadsheet Automation with Python
 
Learn How-To Build Your IoT Project
Learn How-To Build Your IoT ProjectLearn How-To Build Your IoT Project
Learn How-To Build Your IoT Project
 
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
Open Source on the Mainframe Mini-Summit 2019 - How Open Source is Modernizin...
 
Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013
Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013
Surfacing ‘101’ in a Linked Data manner as presented at SATToSE 2013
 

More from xlwings

xlwings for Google Sheets
xlwings for Google Sheetsxlwings for Google Sheets
xlwings for Google Sheetsxlwings
 
Automate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings ReportsAutomate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings Reportsxlwings
 
Tech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for ExcelTech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for Excelxlwings
 
xlwings performance
xlwings performancexlwings performance
xlwings performancexlwings
 
Git for Excel (Webinar)
Git for Excel (Webinar)Git for Excel (Webinar)
Git for Excel (Webinar)xlwings
 
Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)xlwings
 
xlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Pythonxlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Pythonxlwings
 
Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)xlwings
 
Automated testing of Excel Workbooks
Automated testing of Excel WorkbooksAutomated testing of Excel Workbooks
Automated testing of Excel Workbooksxlwings
 
Git for Excel
Git for ExcelGit for Excel
Git for Excelxlwings
 
Automated Testing of Excel Workbooks
Automated Testing of Excel WorkbooksAutomated Testing of Excel Workbooks
Automated Testing of Excel Workbooksxlwings
 
Git for Excel files webinar
Git for Excel files webinarGit for Excel files webinar
Git for Excel files webinarxlwings
 
xlwings - For Python Quants Conference (London 2014)
xlwings - For Python Quants Conference (London 2014)xlwings - For Python Quants Conference (London 2014)
xlwings - For Python Quants Conference (London 2014)xlwings
 

More from xlwings (13)

xlwings for Google Sheets
xlwings for Google Sheetsxlwings for Google Sheets
xlwings for Google Sheets
 
Automate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings ReportsAutomate your PDF factsheets with xlwings Reports
Automate your PDF factsheets with xlwings Reports
 
Tech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for ExcelTech3camp Meetup: Python for Excel
Tech3camp Meetup: Python for Excel
 
xlwings performance
xlwings performancexlwings performance
xlwings performance
 
Git for Excel (Webinar)
Git for Excel (Webinar)Git for Excel (Webinar)
Git for Excel (Webinar)
 
Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)Deployment of xlwings-powered spreadsheets (webinar)
Deployment of xlwings-powered spreadsheets (webinar)
 
xlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Pythonxlwings reports: Reporting with Excel & Python
xlwings reports: Reporting with Excel & Python
 
Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)Python and Excel in Finance (PyData meetup Zurich)
Python and Excel in Finance (PyData meetup Zurich)
 
Automated testing of Excel Workbooks
Automated testing of Excel WorkbooksAutomated testing of Excel Workbooks
Automated testing of Excel Workbooks
 
Git for Excel
Git for ExcelGit for Excel
Git for Excel
 
Automated Testing of Excel Workbooks
Automated Testing of Excel WorkbooksAutomated Testing of Excel Workbooks
Automated Testing of Excel Workbooks
 
Git for Excel files webinar
Git for Excel files webinarGit for Excel files webinar
Git for Excel files webinar
 
xlwings - For Python Quants Conference (London 2014)
xlwings - For Python Quants Conference (London 2014)xlwings - For Python Quants Conference (London 2014)
xlwings - For Python Quants Conference (London 2014)
 

Recently uploaded

software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

Odsc presentation

  • 1. O P E N D A T A S C I E N C E C O N F E R E N C E_ BOSTON 2015 @opendatasci xlwings Felix Zumstein
  • 2. About me •  Startup (2014, Zurich): – Mainly Python for Finance – Web based trading solutions (Interactive Brokers) – Lots of Excel – Open-source: xlwings/ExcelPython •  Previously: 9yrs in Banking /Asset Mgmt •  Background in Finance & Economics 2
  • 4. The open-source Python/Excel Landscape 4 •  Pywin32 •  xlwings •  ExcelPython Read/Write Program/Interact •  xlwt/xlrd •  XlsxWriter •  OpenPyxl
  • 5. Why xlwings? – 6 Reasons 5
  • 6. (1) Installation 6 •  pip/conda install xlwings •  or equally easy:
  • 9. (4) Simplicity 9 >>>  from  xlwings  import  Workbook,  Range     >>>  wb  =  Workbook()   >>>  Range("A1").value  =  my_variable   •  Strings •  Numbers •  DateTime •  Lists (nested) •  NumPy arrays •  Pandas DataFrames •  Blaze Data container (planned)
  • 10. (5) Works back and forth 10 >>>  wb  =  Workbook()   >>>  Range("A1").value  =  my_variable   Sub  MyFunction()    RunPython  ("import  mymodule;mymodule.myfunction()")   End  Sub  
  • 11. (6) ExcelPython for UDFs (Windows only) 11 from  xlpython  import  xlfunc   import  numpy  as  np     @xlfunc   def  matrix_mult(x,  y):          x  =  np.atleast_2d(np.array(x))          y  =  np.atleast_2d(np.array(y))          return  x.dot(y)   {=matrix_mult(A1:B2,D1:E2)}   Access from Excel via Array Formula: Write User Defined Functions in Python:
  • 13. What’s next? •  Add-in •  Full integration of xlwings/ExcelPython •  Add more features: matplotlib etc. •  Someday… – Google Sheets – LibreOffice/OpenOffice 13
  • 14. julia>  using  PyCall   julia>  @pyimport  xlwings  as  xw     julia>  xw.Workbook()   julia>  xw.Range("A1",  asarray=true)[:table][:value]     Use xlwings from Julia 14 >>>  from  xlwings  import  Workbook,  Range     >>>  wb  =  Workbook()   >>>  Range("A1",  asarray=True).table.value