{"id":206906,"date":"2024-05-20T11:11:23","date_gmt":"2024-05-20T15:11:23","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=206906"},"modified":"2024-08-13T15:55:06","modified_gmt":"2024-08-13T19:55:06","slug":"executing-a-python-script-within-excel-using-xlwings","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/","title":{"rendered":"Executing a Python Script within Excel Using xlwings"},"content":{"rendered":"\n<p>This post demonstrates how to utilize the&nbsp;<strong>xlwings<\/strong>&nbsp;Python package to&nbsp;<strong>execute a Python script within Excel<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-running-a-python-script-in-excel-using-xlwings\">Running a Python script in Excel using xlwings<\/h3>\n\n\n\n<p>In this post, I show how to run a python function in Excel in terms of time series modeling perspective.<\/p>\n\n\n\n<p>Once we know how to handle input and output data in matrix format, we no longer need to think about it. We can solely focus on changing the procedures or models to be calculated or estimated in Python.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-installation-of-xlwings\">Installation of xlwings<\/h3>\n\n\n\n<p>Among several approaches, we can use&nbsp;<strong>xlwings<\/strong>&nbsp;package to run a Python script in Excel.<\/p>\n\n\n\n<p><strong>xlwings<\/strong>&nbsp;offers various features, including user-defined functions similar to Excel&#8217;s. However, this post concentrates on using Python for model estimation with Excel data and viewing the results within Excel. By starting with a simple case, subsequent advanced applications become more manageable.<\/p>\n\n\n\n<p>Before you begin this task, make sure to install xlwings and then the Excel add-in sequentially. First, install xlwings in the conda prompt:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">conda install xlwings<\/pre>\n\n\n\n<p>Second, install the xlwings add-in in the conda prompt:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">xlwings addin install\n<\/pre>\n\n\n\n<p>After completing the two installations correctly, you&#8217;ll find an&nbsp;<strong>&#8220;xlwings&#8221; menu in Excel<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Python and Excel VBA codes<\/h3>\n\n\n\n<p>As a simple illustration, we&#8217;ll utilize a correlation matrix calculation example. The&nbsp;<strong>corr_test.xlsm<\/strong>&nbsp;file, depicted in the figure, outlines the process straightforwardly.<\/p>\n\n\n\n<p>Upon clicking the calculation button, the shaded area is populated with the correlation matrix generated by executing the&nbsp;<strong>corr_test.py<\/strong>&nbsp;file. Here, the input data resides in the Excel file, and the output (correlation matrix) is then sent back to the Excel file.<\/p>\n\n\n\n<p>Consequently, we have only to know how to code the&nbsp;<strong>corr_test.py<\/strong>&nbsp;file and the&nbsp;<strong>button&#8217;s VBA macro<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"970\" height=\"764\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/01_input_excel-shfintech.png\" alt=\"\" class=\"wp-image-206909 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/01_input_excel-shfintech.png 970w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/01_input_excel-shfintech-700x551.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/01_input_excel-shfintech-300x236.png 300w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/01_input_excel-shfintech-768x605.png 768w\" data-sizes=\"(max-width: 970px) 100vw, 970px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 970px; aspect-ratio: 970\/764;\" \/><\/figure>\n\n\n\n<p>The button for executing the Python code is linked to the following VBA macro function. This macro code simply calls the&nbsp;<strong>&#8216;main()&#8217;<\/strong>&nbsp;function in the&nbsp;<strong>&#8216;corr_test.py&#8217;<\/strong>&nbsp;file using &#8220;<strong>RunPython<\/strong>&#8220;.<\/p>\n\n\n\n<p>However,&nbsp;<strong>to utilize xlwings&#8217; RunPython() function<\/strong>&nbsp;in a workbook, you need to&nbsp;<strong>set a reference to xlwings in the VBA editor by checking the xlwings box in the VBA Editor References menu.<\/strong>, just like when using other add-ins.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Sub btn_Click()\n    RunPython (\"import corr_test; corr_test.main()\")\nEnd Sub<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Python code using&nbsp;<strong>xlwings<\/strong><\/h3>\n\n\n\n<p>As anticipated, the&nbsp;<strong>&#8216;corr_test.py&#8217;<\/strong>&nbsp;file comprises three steps: 1) retrieving data from Excel, 2) computing a correlation matrix, and lastly, 3) storing the results back into Excel. With the assistance of the&nbsp;<strong>xlwings<\/strong>&nbsp;Python package, these tasks are simplified.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import numpy as np\nimport xlwings as xw\n \ndef main():\n \n    #----------------------------------------------\n    # 1. select input data sheet\n    #----------------------------------------------\n    #sht = xw.Book.caller().sheets[0]       # 1st sheet\n    sht = xw.Book.caller().sheets['Sheet1'] # with name\n        \n    #----------------------------------------------\n    # 2. read input data as list\n    #----------------------------------------------\n    lt_name = sht.range('B2:G2').value  # column names\n    lt_data = sht.range('B3:G28').value # data\n    \n    # convert data to a NumPy array\n    np_data = np.array(lt_data)\n    \n    # convert names to a row and column vector\n    np_data = np.array(lt_data)\n    np_name_row = np.array(lt_name)                \n    np_name_col = np.array(lt_name).reshape(-1, 1)\n     \n    #----------------------------------------------\n    # 3. process\n    #----------------------------------------------\n    # calculate correlation matrix\n    np_data = np_data.astype(float) # to ensure numeric data\n    np_corr_out = np.corrcoef(np_data, rowvar=False)\n \n    #----------------------------------------------\n    # 4. write results to specific ranges in Excel\n    #----------------------------------------------\n    sht.range('J2').value = np_name_row\n    sht.range('J3').value = np_corr_out\n    sht.range('I3').value = np_name_col<\/pre>\n\n\n\n<p>The processing is simple. In this case, Excel files executing VBA code are automatically detected by xlwings, so there&#8217;s no need for separate specification.<\/p>\n\n\n\n<p>In the main() function, it first selects&nbsp;<strong>Sheet1<\/strong>&nbsp;and then reads the data. Next, it calculates the correlation matrix using the&nbsp;<strong>np.corrcoef()<\/strong>&nbsp;function. Finally, it sends the final result back to Excel.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"970\" height=\"764\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/02_output_excel-shfintech.png\" alt=\"\" class=\"wp-image-206911 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/02_output_excel-shfintech.png 970w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/02_output_excel-shfintech-700x551.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/02_output_excel-shfintech-300x236.png 300w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/02_output_excel-shfintech-768x605.png 768w\" data-sizes=\"(max-width: 970px) 100vw, 970px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 970px; aspect-ratio: 970\/764;\" \/><\/figure>\n\n\n\n<p>Now that we&#8217;ve learned how to extract data from Excel and store results back into Excel,&nbsp;<strong>the remaining step is to tailor the &#8216;process&#8217; section to suit your analysis objectives<\/strong>.<\/p>\n\n\n\n<p><em>Originally posted on the <a href=\"https:\/\/shleeai.blogspot.com\/2024\/05\/executing-python-script-within-excel.html\">SHLee AI Financial Model<\/a> blog.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.<\/p>\n","protected":false},"author":662,"featured_media":89349,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,343,349,338,341],"tags":[7091,806,4922,5878,1225,595,17129],"contributors-categories":[13728],"class_list":{"0":"post-206906","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-programing-languages","9":"category-python-development","10":"category-ibkr-quant-news","11":"category-quant-development","12":"tag-conda","13":"tag-data-science","14":"tag-econometrics","15":"tag-excel","16":"tag-numpy","17":"tag-python","18":"tag-xlwings","19":"contributors-categories-sh-fintech-modeling"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Executing a Python Script within Excel Using xlwings<\/title>\n<meta name=\"description\" content=\"This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/206906\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Executing a Python Script within Excel Using xlwings\" \/>\n<meta property=\"og:description\" content=\"This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-20T15:11:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-13T19:55:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sang-Heon Lee\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sang-Heon Lee\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Sang-Heon Lee\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/0a959ff9de7f0465a07baa1fe1ae0200\"\n\t            },\n\t            \"headline\": \"Executing a Python Script within Excel Using xlwings\",\n\t            \"datePublished\": \"2024-05-20T15:11:23+00:00\",\n\t            \"dateModified\": \"2024-08-13T19:55:06+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/\"\n\t            },\n\t            \"wordCount\": 531,\n\t            \"commentCount\": 0,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/05\\\/digital-cubes.jpg\",\n\t            \"keywords\": [\n\t                \"conda\",\n\t                \"Data Science\",\n\t                \"Econometrics\",\n\t                \"Excel\",\n\t                \"NumPy\",\n\t                \"Python\",\n\t                \"xlwings\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Development\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/\",\n\t            \"name\": \"Executing a Python Script within Excel Using xlwings | IBKR Campus US\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/05\\\/digital-cubes.jpg\",\n\t            \"datePublished\": \"2024-05-20T15:11:23+00:00\",\n\t            \"dateModified\": \"2024-08-13T19:55:06+00:00\",\n\t            \"description\": \"This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/executing-a-python-script-within-excel-using-xlwings\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/05\\\/digital-cubes.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2021\\\/05\\\/digital-cubes.jpg\",\n\t            \"width\": 1000,\n\t            \"height\": 563,\n\t            \"caption\": \"Quant\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/0a959ff9de7f0465a07baa1fe1ae0200\",\n\t            \"name\": \"Sang-Heon Lee\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/sang-heonlee\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Executing a Python Script within Excel Using xlwings","description":"This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/206906\/","og_locale":"en_US","og_type":"article","og_title":"Executing a Python Script within Excel Using xlwings","og_description":"This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/","og_site_name":"IBKR Campus US","article_published_time":"2024-05-20T15:11:23+00:00","article_modified_time":"2024-08-13T19:55:06+00:00","og_image":[{"width":1000,"height":563,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg","type":"image\/jpeg"}],"author":"Sang-Heon Lee","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sang-Heon Lee","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/"},"author":{"name":"Sang-Heon Lee","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/0a959ff9de7f0465a07baa1fe1ae0200"},"headline":"Executing a Python Script within Excel Using xlwings","datePublished":"2024-05-20T15:11:23+00:00","dateModified":"2024-08-13T19:55:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/"},"wordCount":531,"commentCount":0,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg","keywords":["conda","Data Science","Econometrics","Excel","NumPy","Python","xlwings"],"articleSection":["Data Science","Programming Languages","Python Development","Quant","Quant Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/","name":"Executing a Python Script within Excel Using xlwings | IBKR Campus US","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg","datePublished":"2024-05-20T15:11:23+00:00","dateModified":"2024-08-13T19:55:06+00:00","description":"This post demonstrates how to utilize the\u00a0xlwings\u00a0Python package to\u00a0execute a Python script within Excel.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/executing-a-python-script-within-excel-using-xlwings\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg","width":1000,"height":563,"caption":"Quant"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/0a959ff9de7f0465a07baa1fe1ae0200","name":"Sang-Heon Lee","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/sang-heonlee\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/05\/digital-cubes.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/206906","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/662"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=206906"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/206906\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/89349"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=206906"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=206906"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=206906"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=206906"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}