Google Sheets API Automation in Python

Sdílet
Vložit
  • čas přidán 22. 03. 2023
  • In this video, we learn how to use the Google Sheets API to automate processes with Python.
    Documentation: developers.google.com/sheets/...
    ◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
    📚 Programming Books & Merch 📚
    🐍 The Python Bible Book: www.neuralnine.com/books/
    💻 The Algorithm Bible Book: www.neuralnine.com/books/
    👕 Programming Merch: www.neuralnine.com/shop
    🌐 Social Media & Contact 🌐
    📱 Website: www.neuralnine.com/
    📷 Instagram: / neuralnine
    🐦 Twitter: / neuralnine
    🤵 LinkedIn: / neuralnine
    📁 GitHub: github.com/NeuralNine
    🎙 Discord: / discord
    🎵 Outro Music From: www.bensound.com/
  • Věda a technologie

Komentáře • 83

  • @knalsgtes6684
    @knalsgtes6684 Před 10 měsíci +10

    This is it! The tutorial that we've looking for. Very helpful for our new automation project. Looking forward for more automation tutorials. Done subscribe.

  • @mbeware
    @mbeware Před rokem +3

    I was in the process of setting up an ETCD server for storing just a few shared variables. This would be perfect for our use case! Thanks!

  • @prof.code-dude2750
    @prof.code-dude2750 Před 11 měsíci +2

    The best video for this topic! Loved it

  • @soroushjamali492
    @soroushjamali492 Před rokem +2

    Thanks, this is super helpful! How can we modify the code so that it gets triggered when there is a change in the sheet?

  • @LlaneRost
    @LlaneRost Před rokem +2

    Love watching you videos on my phone I always need my magnifying glass. Would love to see the text zoomed in a bit.

  • @valentinasinichenko751
    @valentinasinichenko751 Před 2 měsíci

    Amazing! Thank you for enabling me to get the job done so easily and getting me through all of the google api settings

  • @ukaszbudzynski9113
    @ukaszbudzynski9113 Před 6 měsíci

    Great explanation! Very valuable, that You took us through the authentication and credential process...thanks!

  • @diegomgarcia00
    @diegomgarcia00 Před 5 měsíci +2

    Great video! If I wanted to automate it even more, how can I trigger this code to run every time a new row gets added or a cell gets updated?

  • @filltofill
    @filltofill Před 6 měsíci +1

    After first excecution on my local machine, script can run on a sever/cloud under cron task for example? In other words: does the authorization process depends on the machine under the script is running?

  • @scottnorman2296
    @scottnorman2296 Před rokem

    Excellent tutorial. Thank you!

  • @severtone263
    @severtone263 Před rokem

    Great tutorial buddy. You earned a sub

  • @rublevv
    @rublevv Před 6 měsíci

    Brilliant tutorial! Thank you, it was superhelpful.

  • @davidtindell950
    @davidtindell950 Před 6 měsíci

    Great! Very Helpful !! Thank You Again !!!

  • @MZubair-ql4rn
    @MZubair-ql4rn Před 4 měsíci +1

    Thank You dear,your typing speed is awosome

  • @akabaneaditya9469
    @akabaneaditya9469 Před 8 měsíci

    thanks for your video, may i ask how to get the lattest row in gspead, 9i want to run log histrory from many devices

  • @bozok1903
    @bozok1903 Před rokem +1

    I did my first app yesterday using google sheets and looking for a good tutorial to go further. Thank you for the video.

    • @susanca8443
      @susanca8443 Před 7 měsíci

      Congrats. Please can you describe what the app does?

    • @bozok1903
      @bozok1903 Před 7 měsíci

      @@susanca8443 It was an expance tracker. I used google sheets as a database.

  • @brany2920
    @brany2920 Před rokem

    hi, i was using your example but got messed up wityh the security applied (oauth) . is there a way to use service instead???

  • @omnitechsolutions1056
    @omnitechsolutions1056 Před 21 dnem

    Awesome video ! Complete explanation, This was the video i was searching for Thanks a ton bro :)

  • @hizokadarkwolf
    @hizokadarkwolf Před rokem +2

    Great introduction, it helped me a lot. Thanks.
    Q: Why not use a Service Account instead? If I manage to make it work, I will share the code as a reply to this comment.

  • @linusheterlinus
    @linusheterlinus Před rokem

    At 6:43 when he is storing the file. I don't get the option to store it as a Json File.
    For me it autosaves as HTML / text document.
    Please can someone help me out? Thanks!

  • @myvideos715
    @myvideos715 Před rokem

    Thats what i was looking for ❤

  • @CaioMGA
    @CaioMGA Před 7 měsíci

    Thank you so much for your tutorial

  • @talhatasova1296
    @talhatasova1296 Před rokem +2

    Would it be easier with the library called pygsheets? As far as I know, that whole authentication process and data manipulation operations take less amount of code and time. Is there any disadvantages of it? Great video btw, recently discovered the channel as an intermediate python developer, been improving already ^^

    • @completelybear
      @completelybear Před rokem +4

      Pygsheets and/or gspread worked for me. Can manipulate the chosen cells as a pandas dataframe which makes it really handy!

  • @clmvdstap
    @clmvdstap Před 5 měsíci

    Thanks a lot, usefull demo.

  • @siddharthkshirsagar2545
    @siddharthkshirsagar2545 Před 6 měsíci

    Awesome video Thanks for this

  • @user-rc7ix4rh5r
    @user-rc7ix4rh5r Před 11 měsíci

    I got json decoder error. Then, I checked the token.json file was empty after first authintication. I deleted token.json, then retried. it worked. Thank you brother, you really helped

  • @facundolubo
    @facundolubo Před rokem

    I have an error at 18:50: "No se puede acceder a este sitio webLa página localhost ha rechazado la conexión.
    Prueba a:
    Comprobar la conexión
    Comprobar el proxy y el cortafuegos
    ERR_CONNECTION_REFUSED"

  • @user-rc7ix4rh5r
    @user-rc7ix4rh5r Před 11 měsíci +3

    24:48 this part gives kind of satisfaction, like a magic

  • @user-fj5hv8fp3h
    @user-fj5hv8fp3h Před rokem +4

    Hey NeuralNine, do you have a video on the Keyboard shortcuts you use while developing in pyCharm? Some of these look really useful!

  • @MrBossclub
    @MrBossclub Před rokem +4

    Does the cloud service sheet api cost anything?

  • @DevOpsConsultantGuru
    @DevOpsConsultantGuru Před 11 měsíci

    Bro you are great!!

  • @abdullahburakgun7112
    @abdullahburakgun7112 Před 10 měsíci

    Is it possible to refresh pivot table from python code ?

  • @VishnuVardhan-Developer
    @VishnuVardhan-Developer Před 10 měsíci

    When I try to run the first code which displays, all the data in the excel; a error occurs saying
    'HttpRequest' object has no attribute 'get'

  • @genelkanininaksine
    @genelkanininaksine Před rokem

    Great tutorial.

  • @nadernofal7087
    @nadernofal7087 Před rokem

    thank you alot man!!

  • @susanca8443
    @susanca8443 Před 7 měsíci +1

    Any reason you didn't use gspread? I use it and you install only that. The entire code one just three lines to authenticate and get the data.

  • @user-ft5hd7td6y
    @user-ft5hd7td6y Před 4 měsíci

    Thank you so much!

  • @findsarfaraz
    @findsarfaraz Před rokem

    do you have to pay ? I am really afraid of using Google Cloud

  • @javiermorales5884
    @javiermorales5884 Před 9 měsíci

    Background:
    So I have two gmail accounts. For some reason with one of the email I am not able to create a projects, this being a university email. I created my project with a personal email and wrote a script resembling yours. the sheet is created by university email so the personal one does not have access.
    Question:
    At what point in your code does it tell which google account is running the code? or does the project creator always need access to the google file even if its another user?
    or is it that since i ran the code and when asked for the account, such as you were when you first ran it, I selected the account without access?

    • @javiermorales5884
      @javiermorales5884 Před 9 měsíci

      just run the
      else:
      -----------
      with ()
      the two parts before the try

  • @aleksalukic1904
    @aleksalukic1904 Před rokem +3

    after i run the script google said :
    error : 400 redirect_uri_mismatch google

  • @levtroshchinskiy613
    @levtroshchinskiy613 Před rokem

    Does anybody know why googleapiclient does not install in Pycharm?

  • @ogarjosephodama1878
    @ogarjosephodama1878 Před 11 měsíci +1

    I think you should use real life case like inventory management system sheet

  • @vladvol855
    @vladvol855 Před rokem +9

    It is so complicated to set this configuration! Much easier to work via Excel, than this spreadsheets

  • @bisyrim1030
    @bisyrim1030 Před 7 měsíci

    Hello friend, I think your content is excellent. but, can you make another example of storing data into a G sheet from a list or etc.

  • @soufianesoufiane7218
    @soufianesoufiane7218 Před 5 měsíci

    Yes, more about Flask

  • @sizemccuse212
    @sizemccuse212 Před 11 měsíci +1

    Hello great video, though I followed all the steps and when I try to write to the sheet it gives me an error saying ‘ACCESS_TOKEN_SCOPE_INSUFFICIENT’

  • @sowdah
    @sowdah Před 5 měsíci +1

    If you get 'FileNotFoundError', try to specify an absolute path. Replace the "credentials.json" with its absolute file path.
    E.g. line 22 could mention "d:\CODEFOLDER\SHEETSPROJECT\credentials.json" instead of just "credentials.json"
    Tags : Errno 2. FileNotFoundError . No such file or directory . Folder . Can't Cant Find . Traceback . Same .

  • @mehdismaeili3743
    @mehdismaeili3743 Před rokem

    excellent.

  • @amardeepyadav9511
    @amardeepyadav9511 Před 2 měsíci

    Hey, man you seems the most intelligent guys among the youtube community.

  • @aroobae456
    @aroobae456 Před 6 měsíci

    I am gettint the error message: 400 redirect_uri_mismatch :(

  • @grigorii_matiushkov
    @grigorii_matiushkov Před 10 měsíci +1

    Hello, the following error appears: FileNotFoundError: [Errno 2] No such file or directory: 'credentials.json'. Although the credentials file.json is in the python project folder. Help please

    • @Idk-mk9cg
      @Idk-mk9cg Před 10 měsíci +1

      Same problem, have you found the solution?

    • @user-xr4th2mw9y
      @user-xr4th2mw9y Před 9 měsíci

      same thing have you found solution?@@Idk-mk9cg

    • @halasyamv3190
      @halasyamv3190 Před 6 měsíci +1

      @@Idk-mk9cg the solution is you need to name that json file he downloads in the beginining credentials and then save it in the directory that you are working in

    • @sowdah
      @sowdah Před 5 měsíci

      SPECIFY ABSOLUTE PATH. If anyone else has this error, replace the "credentials.json" with its absolute file path. E.g. line 22 could mention "d:\CODEFOLDER\SHEETSPROJECT\credentials.json" instead of just "credentials.json"

  • @150nitrodude
    @150nitrodude Před 5 měsíci

    Great tutorial, but I must say, it would be WAY easier to do this natively in Google Apps Script. The merits I see of using python would be to package the code into a Cloud function or something similar, but even then - juice might not be worth the squeeze. For those saying, "I only know Python", Apps Script is a slightly easier version of JS, so it wouldn't be hard for y'all to do what you need to do.

  • @kylewilliams4721
    @kylewilliams4721 Před 8 měsíci +1

    Where's the code in your github? There's a bunch

  • @Patronesofly
    @Patronesofly Před 3 měsíci

    how can we all all the data and put it in pandas?

  • @mikkodarobloxian6316
    @mikkodarobloxian6316 Před rokem

    awesome

  • @tcgvsocg1458
    @tcgvsocg1458 Před rokem

    good video

  • @wtfdoiputhere
    @wtfdoiputhere Před 3 měsíci

    Tbh google app script is much better and more straightforward bcz that's basically its main function, to automate

  • @newbieprogrammer-qs3bq
    @newbieprogrammer-qs3bq Před 5 měsíci

    i keep getting
    Traceback (most recent call last):
    File "e:\google sheets project\project.py", line 47, in
    main()
    File "e:\google sheets project\project.py", line 41, in main
    values = result.get("values", [])
    ^^^^^^
    NameError: name 'result' is not defined

  • @fusebox9725
    @fusebox9725 Před 4 měsíci

    I'm getting a developer permission error..

  • @noyou9349
    @noyou9349 Před rokem

    I'm getting an error : 'Credentials' has no attribute 'from_authorized_user_file'

    • @jorgeduardo101
      @jorgeduardo101 Před rokem

      use the following:
      "from google.oauth2.credentials import Credentials" instead of the line used in the video and it should work

    • @neilorourke814
      @neilorourke814 Před 2 měsíci

      @@jorgeduardo101 holy crap thankyou

  • @user-nb2wj5mq2m
    @user-nb2wj5mq2m Před 8 měsíci

    хороший , молодец, www забыл

  • @babywaffles
    @babywaffles Před rokem

    Doesn't work...

  • @SuperN1
    @SuperN1 Před 2 měsíci

    👍

  • @pawelp531
    @pawelp531 Před 9 měsíci

    I am getting "TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond" when it executes the "result = sheets.values().get(spreadsheetId=SPREADSHEET_ID..." line with firewall off.

  • @cassiuslives4807
    @cassiuslives4807 Před rokem +2

    18:58 googleapiclient.http.HttpRequest no longer has a method called "get", so the line *values = result.get("values",[]) fails

  • @muneebbolo
    @muneebbolo Před měsícem

    getting this error:
    Traceback (most recent call last):
    File "C:\Users\PC\Downloads\GoogleSheets_Project\connect_to_sheets.py.txt", line 45, in
    main()
    File "C:\Users\PC\Downloads\GoogleSheets_Project\connect_to_sheets.py.txt", line 23, in main
    flow = InstalledAppFlow.from_client_secrets_file("credentials.json", SCOPES)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\PC\AppData\Roaming\Python\Python312\site-packages\google_auth_oauthlib\flow.py", line 198, in from_client_secrets_file
    with open(client_secrets_file, "r") as json_file:
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    FileNotFoundError: [Errno 2] No such file or directory: 'credentials.json'
    [Finished in 1.9s]

  • @ogarjosephodama1878
    @ogarjosephodama1878 Před 11 měsíci

    I think you should use real life case like inventory management system sheet