How to create an Excel app that runs Python?
I have the following scenario: I have created lots of python files that I use to calculate a Cashflow model, when I run these files I get a beautiful pandas DataFrame that contains my final model. My mission is to show this table to the rest of the company in a friendly format ("Excel") and they need to be able to generate this table themselves from Excel, using the Python script I created ("the idea is that they open an excel file that has some type of dashboard and a form that they need to fill in, once they fill it in and press "Go" or "Run" or something like that, these parameters will be sent to the Python script to generate this final pandas DataFrame. Finally this DataFrame needs to be displayed/pasted in the Excel sheet that they initially opened) The problems: The company needs to be able to run this model, but the users, apart from me, use Excel and they can't open up a Jupyter notebook or VSC to run the code. They can't even install Python on their machines (or at least that is not ideal) My Attempts: I am currently using "xlwings" to run Python within Excel, although it requires that the user has Python and xlwings installed and has added the xlwings "Addin", which is not an ideal solution at all. I am thinking about using Dash, I don't know if it is what I need since I haven't looked into it that much yet (I have been trying to make it work on xlwings first) If you have any suggestions on how to do this, I would really appreciate that. Thank you -- https://mail.python.org/mailman/listinfo/python-list
Re: How to create an Excel app that runs Python?
On Tuesday, 24 March 2020 17:38:11 UTC, Paolo G. Cantore wrote: > On Tue, Mar 24, 2020, 4:45 PM wrote: > > > I have the following scenario: > > > > I have created lots of python files that I use to calculate a Cashflow > > model, when I run these files I get a beautiful pandas DataFrame that > > contains my final model. My mission is to show this table to the rest of > > the company in a friendly format ("Excel") and they need to be able to > > generate this table themselves from Excel, using the Python script I > > created ("the idea is that they open an excel file that has some type of > > dashboard and a form that they need to fill in, once they fill it in and > > press "Go" or "Run" or something like that, these parameters will be sent > > to the Python script to generate this final pandas DataFrame. Finally this > > DataFrame needs to be displayed/pasted in the Excel sheet that they > > initially opened) > > > > > > The problems: > > > > The company needs to be able to run this model, but the users, apart from > > me, use Excel and they can't open up a Jupyter notebook or VSC to run the > > code. They can't even install Python on their machines (or at least that is > > not ideal) > > > > > > My Attempts: > > > > I am currently using "xlwings" to run Python within Excel, although it > > requires that the user has Python and xlwings installed and has added the > > xlwings "Addin", which is not an ideal solution at all. > > > > I am thinking about using Dash, I don't know if it is what I need since I > > haven't looked into it that much yet (I have been trying to make it work on > > xlwings first) > > > > > > > > If you have any suggestions on how to do this, I would really appreciate > > that. > > > > Thank you > > -- > > https://mail.python.org/mailman/listinfo/python-list > > > The scenario you describe should be fulfilled by a web application. > > I'm sure your users are also able to use a browser, not only Excel. > > The HTML forms management offers the GUI capabilities to enter the > parameters. The processing steps could be as follows: > > 1. Enter the url for the application in question and display the form. > 2. Enter the needed data in the form. > 3. Process the data (with lots of your python scripts) and show the > result in the browser. > 4. If all is ok, download the data sheet in Excel format (using > DataFrame.to_excel) Hello Paolo, Thanks for your reply, indeed now I'm thinking on building a web app, do you have any suggestions for this? I am thinking of using Tkinter, the method that you describe using HTML is also using Javascript? Kind Regards Felipe -- https://mail.python.org/mailman/listinfo/python-list
Re: How to create an Excel app that runs Python?
On Tuesday, 24 March 2020 16:12:00 UTC, Souvik Dutta wrote: > You might try pyqt5 if you want to make a custom GUI and also if you have > tha time to do so. > > On Tue, Mar 24, 2020, 4:45 PM wrote: > > > I have the following scenario: > > > > I have created lots of python files that I use to calculate a Cashflow > > model, when I run these files I get a beautiful pandas DataFrame that > > contains my final model. My mission is to show this table to the rest of > > the company in a friendly format ("Excel") and they need to be able to > > generate this table themselves from Excel, using the Python script I > > created ("the idea is that they open an excel file that has some type of > > dashboard and a form that they need to fill in, once they fill it in and > > press "Go" or "Run" or something like that, these parameters will be sent > > to the Python script to generate this final pandas DataFrame. Finally this > > DataFrame needs to be displayed/pasted in the Excel sheet that they > > initially opened) > > > > > > The problems: > > > > The company needs to be able to run this model, but the users, apart from > > me, use Excel and they can't open up a Jupyter notebook or VSC to run the > > code. They can't even install Python on their machines (or at least that is > > not ideal) > > > > > > My Attempts: > > > > I am currently using "xlwings" to run Python within Excel, although it > > requires that the user has Python and xlwings installed and has added the > > xlwings "Addin", which is not an ideal solution at all. > > > > I am thinking about using Dash, I don't know if it is what I need since I > > haven't looked into it that much yet (I have been trying to make it work on > > xlwings first) > > > > > > > > If you have any suggestions on how to do this, I would really appreciate > > that. > > > > Thank you > > -- > > https://mail.python.org/mailman/listinfo/python-list > > Thank Souvik, I will check that library out, anything special about that library in particular? -- https://mail.python.org/mailman/listinfo/python-list
Re: How to create an Excel app that runs Python?
On Wednesday, 25 March 2020 12:13:58 UTC, Gisle Vanem wrote: > Grant Edwards wrote: > > > On 2020-03-24, oliver wrote: > > > >> Use the win32com library to interact with Excel via COM. > > > > Huh? I thought that the users have no way of running a local Python > > app. > > Maybe creating a self-contained .exe using PyInstaller? > For me, this: >pyinstaller.exe --noconfirm --console --onefile file.py > > creates a 'dist/file.exe' that depend on nothing but > system libraries. But it's 5 MByte though. > > > -- > --gv Hello Gisle, Thanks for your answer. To do this I assume that first I need to create an app with Tkinter or can I just do this .exe simply with the multiple files I already have? Thanks! -- https://mail.python.org/mailman/listinfo/python-list
Re: How to create an Excel app that runs Python?
On Tuesday, 24 March 2020 16:26:53 UTC, oliver wrote: > Use the win32com library to interact with Excel via COM. Although the > learning curve is a little steeper it's not too bad and works great. I used > this technique to control ARENA with Python through its COM API to run a > whack of simulations (1000-1), then used python to gather the results, > and used win32com from python to finally inject the data into Excel and get > it to generate charts and tables that could be used by stakeholders without > access to python. > > Oliver Schoenborn > || Cloud Application Engineer, Owner || Sentian Cloud Computing Inc. > || Ottawa, ON, Canada || +1-613-552-4466 (mobile) > || oli...@sentianse.com > > > > > On Tue, Mar 24, 2020 at 7:16 AM wrote: > > > I have the following scenario: > > > > I have created lots of python files that I use to calculate a Cashflow > > model, when I run these files I get a beautiful pandas DataFrame that > > contains my final model. My mission is to show this table to the rest of > > the company in a friendly format ("Excel") and they need to be able to > > generate this table themselves from Excel, using the Python script I > > created ("the idea is that they open an excel file that has some type of > > dashboard and a form that they need to fill in, once they fill it in and > > press "Go" or "Run" or something like that, these parameters will be sent > > to the Python script to generate this final pandas DataFrame. Finally this > > DataFrame needs to be displayed/pasted in the Excel sheet that they > > initially opened) > > > > > > The problems: > > > > The company needs to be able to run this model, but the users, apart from > > me, use Excel and they can't open up a Jupyter notebook or VSC to run the > > code. They can't even install Python on their machines (or at least that is > > not ideal) > > > > > > My Attempts: > > > > I am currently using "xlwings" to run Python within Excel, although it > > requires that the user has Python and xlwings installed and has added the > > xlwings "Addin", which is not an ideal solution at all. > > > > I am thinking about using Dash, I don't know if it is what I need since I > > haven't looked into it that much yet (I have been trying to make it work on > > xlwings first) > > > > > > > > If you have any suggestions on how to do this, I would really appreciate > > that. > > > > Thank you > > -- > > https://mail.python.org/mailman/listinfo/python-list > > Hello Oliver, Thank for your answer, it sounds like a very sophisticated method, which is good, although I don't know what you mean when you refer to COM. What is good about the win32com library in particular? Thanks! -- https://mail.python.org/mailman/listinfo/python-list