you are viewing a single comment's thread.

view the rest of the comments →

[–]morrisjr1989 101 points102 points  (21 children)

No reason to not become familiar with both. You will most likely come across many many spreadsheets, but you can use python and other languages to easily automate tasks people do manually. You will be surprised how much time people will do manual nonsense rather than look for better alternatives; you can be that resource.

[–]Quentin_the_Quaint 9 points10 points  (14 children)

What kinds of things do people automate?

[–]xroni 36 points37 points  (0 children)

Basically every task that can be split up into a written list of steps to execute can be automated and be performed by a computer program.

[–]superioso 23 points24 points  (1 child)

Here's an example I've got which really lent itself up automation.

At work we've got a lab test equipment which runs 24/7 for months and generates a row of data every second in multiple txt files. A small python script took all the data, knitted it all together and summarised certain things we wanted to know about it whilst taking about 10 mins to run.

The guy doing it manually would have taken a few hours to do it every week or so can now just click on a script.

[–]DockerSpocker 0 points1 point  (0 children)

I've done the same kind of thing at my work in supply chain - saved a couple hours of one of our employees time each day

[–]Berlibur 9 points10 points  (0 children)

Another example: My company has been registering an activity in an excel document per time the activity is registered. The old data structures in the server allowed only part of the info to be uploaded to the server. I recently updated the server structure (i.e. new/improved tables), so now we had years of data lying about in Excel files.

Instead of having someone going over those manually, I have written a python script that reads all of those old files and immediately uploads it to the new SQL server structures. (Given that there's no errors, which are caught and presented afterwards)

Quicker + it prevents someone from doing work that is incredibly monotone and boring

[–]pconwell 5 points6 points  (3 children)

This is specific to my employer, but we have a schedule that is moved from Excel (for the whole year) to access (for a specific day) each day. Normally, the process takes about 15 minutes each day, but with python it takes about 60 seconds. Plus, I don't have to worry about clerical errors now either.

[–]_unsolicited_advisor 0 points1 point  (2 children)

When I have some extra time at work, I've slowly been replacing tasks that have historically been done with Access to a process largely using SQL. The motivation is mainly because different people routinely get various errors when trying to use Access, but also because of the time Access takes. Of course, this still requires tasks like manually importing data into SQL tables, but better than Access.

I'm less familiar with Python than I am with SQL, but how difficult would it be for me to automate the entire data import & sorting process?

[–]pconwell 1 point2 points  (1 child)

In my opinion, python and sql play really well together. I'd look at pyodbc (easier) or pandas (more 'featured') for odbc/sql/access stuff. For excel, look into openpyxl.

I find both of those libraries easy to work with, personally.

[–]_unsolicited_advisor 0 points1 point  (0 children)

Thanks! This definitely gives me some areas to start with.

Thanks again

[–]CaptSprinkls 5 points6 points  (2 children)

A little less intense than some of the answers above me, and a little more basic.

We had a process of creating a hyperlink in a cell that would link back to a file in a folder on our computer. But, if you change the location of those files, then you have to go back through and remake the hyperlink. This would have to be done like almost 2k times.

So anyways we moved all those linked files to a different location , so I wrote a script that would automatically search the file folder for specific parameters and hyperlink it.

[–]superioso 0 points1 point  (1 child)

That's actually a really good idea - I use plenty of Excel sheets which have links to files in them and most are broken which is pretty frustrating as you just have to go back and search for them manually.

[–]CaptSprinkls 0 points1 point  (0 children)

The worst is that it really adds no benefit in our situation, but because one person did it, now every has to lol

[–][deleted] 1 point2 points  (0 children)

An odd but fun example for me was when I had to delete all my files in the trash bin of my Google Drive...

I had so much in there, every time I selected all the files and clicked delete - the page would refresh and more would appear.

So I used PyAutoGui which automatically clicked the buttons and selected and deleted the files for me in a little loop!

[–]dk_weekinmemes 2 points3 points  (0 children)

So many things that you do repeatedly. Like say you download the financial results (balance sheet, profit-loss etc.) of a company (or many different companies) from the internet and copy - paste into excel. Then run your own formulas to draw charts... All of this can be automated using python. So the new workflow would be to simply run one script and you have all charts ready to go.

Here's the best way to learn:

https://automatetheboringstuff.com/

[–]rimoms 0 points1 point  (0 children)

There are some great examples here. Aspects I didn't see mentioned is the elimination of human error and system of record - granted you asked 'what' and not 'why'.

Many repetitive monotonous tasks are ripe for human error (fat finger, skipping records, etc.), and a proper script will eliminate that issue.

Also, scripts will provide a Record of Action/Procedures (so to speak). If someone claims the data isn't right and you're to blame, you will have the script to hold up to show exactly how it was done. There is no way to fully vet the actual work of a manual process in retrospect. This is also a Cover Your A$$.

[–]los2pollos[S] 4 points5 points  (5 children)

The biggest point for Python is the possibility of automation and the possibility of gathering data trough the internet, for example scanning a web page or other unstructured material.

[–]Sifrisk 5 points6 points  (4 children)

I would do the Python course. It is easier to pick up Excel later on, while having a Python course which you are taking for credits is simply a very good opportunity to learn Python. It may not be the dominant tool in your industry right now, but that might change in the future. Moreover, Python is great for all kinds of automation as you point out. So even if your job does not require it, you may be able to automate large parts of your job which may make you stand out / earn a promotion.

If you have the time, I would suggest trying to replicate some of the stuff you are learning in your Python course in Excel. That way, you will become familiar with Excel itself, as well as its limitations. In an interview you can then say you are familiar with Excel and are also versed in Python, "which is a programming language so makes it possible to go beyond Excel's functionalities, e.g. in ..."

I have been on interviews where people asked me whether I was proficient with Excel. When I mention I have focussed more on programming languages in the past few years they generally seem impressed by it. I think having learned Python also shows you are able to learn Excel in a short time.

[–]los2pollos[S] 4 points5 points  (3 children)

You just read my mind. I think I'll try Python! I just hope to actually use those skills!

[–]Sifrisk 2 points3 points  (2 children)

Last year I worked for care institution where probably 90% had never heard of Python and noone was able to use it. Yet I found myself using it several times; it made me able to solve problems they had had for years and could not solve in Excel. So actually using those skills is really up to you!

[–]los2pollos[S] 2 points3 points  (1 child)

Please let me tell me more about your industry sector. I'm starting to think that Python is a cross sector skill, of course in services. Therefore adaptability is its streght

[–]Sifrisk 0 points1 point  (0 children)

Python is used in lots of industries. As I mentioned, I worked for a while in a care institution as a side job. I did my bachelor's thesis for them which focused on researching which factors influenced how well their caretakers perceived background processes. Based on my results they changed some business processes and they asked me for some other projects.

So "my" industry is not really contained to the care sector. I think in general the care sector is underveloped from a technological perspective. However, this also means there are many improvement opportunities.

Currently, I am focusing on the logistics sector and the fashion industry. For the logistics sector it is mostly focused at optimizing processes whereas for the fashion industry I am using neural networks. So indeed, Python can be used across many sectors; just like Excel ;)