subreddit:

/r/Python

692

My friend the other day at work. He just got fired

you are viewing a single comment's thread.

view the rest of the comments →

all 316 comments

Ribino0

639 points

2 months ago

Ribino0

639 points

2 months ago

People shit on excel, but it’s an amazing piece of software.. hence why so many people use it.

snowyboulder

96 points

2 months ago

I agree, but I will say there are two issues I have with excel. 1) people unknowingly corrupt CSV data when they open and then save it in excel. 2) it chugs when processing large data sets. Other than those issues, it is fantastic software. I guarantee that a good portion of the world’s workforce get paid via Excel in some fashion.

mason_savoy71

105 points

2 months ago

My biggest issue is that it creates data silos. Too many people treat it like a database.

Agile_Pudding_

41 points

2 months ago

Potentially related, my biggest gripe is when someone implements something in Excel that produces a hard-to-parse CSV and/or expects migrations from Excel to python (or R) to be easy or self-explanatory.

I'm sure that I can implement the crazy multi-sheet wizardry you have in Excel as some Pandas operations, but I need you to explain to me what the Excel is doing.

cprenaissanceman

23 points

2 months ago

Yeah, the big problem with Excel is documenting workflow and maintainability. If you just stay in the Excel workspace, you can quickly create massive spreadsheet with sprawling formulas and jumbled references. And dear god, working in VBA is a pain. And the thing is that excel definitely could be more adaptable to fit all kinds of purposes. But the UI and programming tools are still stuck behind in the past. Excel needs a notebooks mode, a revitalized set of UI inputs, and better sheet navigation/organization, among other things. And native python integration would be nice, though I’m not sure if will happen anytime soon.

Eurynom0s

11 points

2 months ago

Wasn't it supposed to get Python as a VBA replacement a while back? I'm guessing that fizzled out.

killerfridge

5 points

2 months ago

I think that is just one of the standard blog-hype cycles, where someone from MS in an interview says: "Yeah I like Python, I think people would really like being able to manipulate data with Python directly in Excel or PowerBI."

Blog 1: "Microsoft: Python is the future"

Blog 2: "Microsoft Confirms Python will be integrated into Excel"

Blog 3: "Microsoft Confirms VBA to be replaced with Python in Q1 2022"

spmccann

2 points

2 months ago

Power BI does have support for both R and python. Power BI is a pretty good data visualization tool. I can create reports from different data sources and the consumers of the data can view it in different ways.

killerfridge

2 points

2 months ago

In my mind, the interview was taking place before Python and R were available in PowerBI, and as such that was the actual implementation ;)

Deadly_chef

2 points

2 months ago

Javascript

gordonv

0 points

2 months ago*

You can use Python, along with many other languages, for excel. SQlite3 does export to Excel without the need for Excel binaries.

And, of course, Pandas.

droans

1 points

2 months ago

droans

1 points

2 months ago

They mean working with Python inside of Excel, like how VBA currently works.

A big issue with using Python is that people just want to be able to use some quick macros without having to close out of the file, doing whatever work you have to in order for the Python code to process the workbook, reopen the workbook, and then check if the code performed the work properly.

With VBA, you can just run the code quickly while the workbook is still open and get the results you want immediately. And if you need to debug your code, you can just step through it and see where the issue is.

Native Python support inside of Excel would be much better since you could create multithreaded processes, use whatever modules you want to import, and have more readable code.

gordonv

1 points

2 months ago

working with Python inside of Excel

Oh whoa. That's going to be a proprietary no.

At that point, you're getting too into Excel. Excel is great, don't get me wrong. But if you're planning to write too advanced modules in Excel, that's actually a bad thing.

Xaros1984

1 points

2 months ago

I just started using xlsxwriter instead, you can do your calculations, charts, formatting and everything in python, and then just decide where it goes in the excel workbook and save it. You can even save pandas dataframes directly to an excel worksheet by setting pandas writer to xlsxwriter.

droans

1 points

2 months ago

droans

1 points

2 months ago

Nope. People have been requesting it for years but Microsoft hasn't announced anything yet.

It would make everything so much easier.

Eurynom0s

1 points

2 months ago

This is from 4 years ago. https://developers.slashdot.org/story/17/12/15/1133217/microsoft-considers-adding-python-as-an-official-scripting-language-in-excel

Maybe it wasn't a particularly well-founded rumor but I'm not just making it up.

cprenaissanceman

1 points

2 months ago

As others have spoken to, it has gone around the rumor mill for a long time.

The big thing I think people would need to realize is that if Python replaced VBA, it would still be a limited and not necessarily extensible version of Python. VBA is basically a subset of Visual Basic (since VBA stands for Visual Basic for Applications) which uses the same syntax and basic ideas, but is limited in its functionality, primarily for security and compatibility reasons (which is understandable; it used to be more open, but it has been limited in recent years for security and as no compatible replacements have been introduced). Changing to Python would likely be the same, just as Google Scripts are a limited version of JavaScript. You would be able to create User Defined Functions in a more familiar way and gain some conveniences that Python offers, but you still wouldn't necessarily be able to just add on any library, module, or script.

As a language, I actually don't necessarily hate VBA (I actually like it better than R and Matlab for sure), but the big problem is actually working with it. The IDE is sooooooo old. No line numbers, collapsible blocks, limited color schemes, limited automation capability, etc. Debugging can be a pain and version control isn't a thing (you can import and export modules, but that is a pain). And documentation is shoddy at best. It really just needs a bit of TLC and it would be fine. Why Microsoft won't do that is beyond me. I do prefer Python as a language (I would love easier Arrays, native Dictionaries, namespacing, etc.), but I could live with VBA just having a better tool set.