How to setup a web app which can handle local data without uploading the data? Use python
No, you cannot run Python code in a web browser.[1]  You'd have to port the core of your application to JavaScript to do it all locally.
Just do the upload.  20MB isn't all that much data, and if it's stored on the server then they can all look at each others' results, too.

[1] There are some tools that try to transpile Python to JavaScript: pyjs compiles directly, and Emscripten is an entire LLVM interpreter in JS that can run CPython itself.  I wouldn't really recommend relying on these.
I have a small python program to help my colleagues to analyse some tsv data. The data is not big, usually below 20MB. I developed the GUI with PyQT. I want to change this desktop program to a web app so my colleagues don't have to upgrade the program every time I change it or fix a bug. They can just go to a website and use Chrome as the GUI. 
So how do I do this? I spend most of my time developing desktop program and just know some basic web developing knowledges. I have read some framework such as flask and web2py, and know how to use HTML and Javascript to make buttons but no clue to achieve my purpose. 
Can someone give me a practical way to do this?
It'd be better if the user don't have to upload the local data to the server. Maybe just download the python code from server then execute in Chrome. Is this possible? 
Thanks.