Create a Google Sheets Data Entry Form with Python & Streamlit | Quick & Easy Tutorial

Поделиться
HTML-код
  • Опубликовано: 2 авг 2024
  • 👉 Explore All My Excel Solutions: pythonandvba.com/solutions
    𝗗𝗘𝗦𝗖𝗥𝗜𝗣𝗧𝗜𝗢𝗡
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
    In this project, I demonstrate how to design a data entry form that integrates seamlessly with Google Sheets using Streamlit and the streamlit-gsheets-connection library.
    🌍 𝗟𝗜𝗡𝗞𝗦:
    ▶ Live demo: vendor-data-entry.streamlit.app/
    ▶ Source Code: github.com/Sven-Bo/google-she...
    ▶ Gsheets-connection package: github.com/streamlit/gsheets-...
    ⭐ 𝗧𝗜𝗠𝗘𝗦𝗧𝗔𝗠𝗣𝗦:
    0:00 - Introduction
    1:08 - Connect Google Sheets to Streamlit
    5:19 - Code out the data entry form
    11:00 - Deploy the app
    13:32 - Enhance the app with more feature
    14:24 -Outro
    𝗧𝗢𝗢𝗟𝗦 𝗔𝗡𝗗 𝗥𝗘𝗦𝗢𝗨𝗥𝗖𝗘𝗦
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
    🆓【𝗙𝗥𝗘𝗘】Excel Add-in (𝗠𝘆𝗧𝗼𝗼𝗹𝗕𝗲𝗹𝘁): pythonandvba.com/mytoolbelt
    📊 Dashboard Excel Add-In (𝗚𝗿𝗮𝗳𝗹𝘆): pythonandvba.com/grafly
    🎨 Cartoon Charts Excel Add-In (𝗖𝘂𝘁𝗲𝗣𝗹𝗼𝘁𝘀): pythonandvba.com/cuteplots
    🤪 Fun Emoji Excel Add-In (𝗘𝗺𝗼𝗷𝗶𝗳𝘆): pythonandvba.com/emojify
    📑 Excel Templates: pythonandvba.com/go/excel-tem...
    🎓 My Courses: pythonandvba.com/go/courses
    📚 Books, Tools, and More: pythonandvba.com/resources
    𝗖𝗢𝗡𝗡𝗘𝗖𝗧 𝗪𝗜𝗧𝗛 𝗠𝗘
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
    🔗 LinkedIn: / sven-bosau
    📸 Instagram: / codingisfun_official
    💻 GitHub: github.com/Sven-Bo
    💬 Discord: pythonandvba.com/discord
    📬 Contact: pythonandvba.com/contact
    ☕ 𝗕𝘂𝘆 𝗺𝗲 𝗮 𝗰𝗼𝗳𝗳𝗲𝗲?
    If you want to support this channel, you can buy me a coffee here:
    ▶ pythonandvba.com/coffee-donation

Комментарии • 115

  • @CodingIsFun
    @CodingIsFun  9 месяцев назад +6

    *Here are the links:* ⤵
    Live demo: vendor-data-entry.streamlit.app/
    Source Code: github.com/Sven-Bo/google-sheets-data-entry-form-with-streamlit
    Gsheets-connection package: github.com/streamlit/gsheets-connection

  • @akhilbakki3910
    @akhilbakki3910 8 месяцев назад

    Thank you for providing the neat demonstration, it helped me very much

  • @florianroeseler2404
    @florianroeseler2404 9 месяцев назад +1

    That’s very practical, thank you!

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Glad it was helpful, Florian. Thanks for watching and your comments! 👍

  • @ildan_haebwa
    @ildan_haebwa 8 месяцев назад +3

    I was having difficulties because an error occurred in streamlit web distribution.
    I was able to solve the problem by watching the video.
    Among the streamlit content I am studying, your video is the best.
    thank you.
    Please continue to produce good streamlit content.

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад +1

      Happy to hear that it was useful; thank you for taking the time to leave a comment and for watching the video! 👍

  • @AirFerrari
    @AirFerrari 9 месяцев назад

    This was very helpful thank you!

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Glad it was helpful! Thanks for watching and leaving a comment! :)

  • @luisfernandoperezarmas7198
    @luisfernandoperezarmas7198 5 месяцев назад

    This video is a treasure. Thank you so much...

    • @CodingIsFun
      @CodingIsFun  5 месяцев назад

      Glad to hear you liked it! Thank you for commenting and watching. Cheers, Sven ✌️

  • @juanwea223
    @juanwea223 6 месяцев назад

    Great video as always. I would like the video about the login to see how you can control which user can see certain info!

    • @CodingIsFun
      @CodingIsFun  6 месяцев назад

      Thanks for watching. Login (authentication) is already on 'videos-to-do' list! Stay tuned! ✌️

  • @ricardo.alves.campos
    @ricardo.alves.campos 8 месяцев назад

    Excellent as always, a second video about login would be awesome!

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад +1

      As always, thanks a lot for your comments! I added the login feature on my "videos-to-do-list" ;)

    • @MS-tu5ew
      @MS-tu5ew 12 дней назад

      I would be very interested also.

  • @HM-bs4cc
    @HM-bs4cc 9 месяцев назад

    Great 👏👏

  • @akokkalis1
    @akokkalis1 9 месяцев назад +1

    Again an excellent informative video. Please make a 2nd video alsoa nd include also a login functionality.

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Thanks for watching. Glad you liked this one too and your request is well noted! 👍

  • @haninawaya9967
    @haninawaya9967 8 месяцев назад

    It is really amazing

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад

      Glad you liked it. Thanks for watching and taking the time to leave a comment! 👍

  • @zoneinfo5584
    @zoneinfo5584 9 месяцев назад

    Superb

  • @jacksonmarube4056
    @jacksonmarube4056 2 месяца назад

    Well explained, I would love a tutorial on the security bit

    • @CodingIsFun
      @CodingIsFun  2 месяца назад

      Thanks for watching. What exactly do you mean? Cheers, Sven ✌️

  • @ipmanbot
    @ipmanbot 8 месяцев назад

    thank you, I really enjoyed learning this, please show me other exercises, like login session and others

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад

      Thanks for watching and your request is well noted! 👍

  • @GeniusLila
    @GeniusLila 9 месяцев назад +3

    Thank you immensely for this invaluable content! Your effort is truly appreciated. 😊 Could you consider crafting another video demonstrating how to incorporate eye-catching statistics, just like Google does in their forms with pie charts, line graphs, or bar graphs? It'd be amazing to see this in action for data like gender ratios, age distribution, course preferences, and more. I'm curious if Streamlit alone can handle this or if you'd recommend building a separate admin dashboard. Could you share your insights on that process? Can't wait to see what's next! 👍

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Thanks for watching and your suggestion! 👍

    • @bolokangmpoma
      @bolokangmpoma 2 месяца назад

      @@CodingIsFun As i'm walking on implementing something similar to this, I would want to know if you have done a video on this comment. I'm enjoying this so far

  • @zkiyyeller3525
    @zkiyyeller3525 9 месяцев назад

    I always appreciate your content Sven. You would use this over google forms if the rest of your app is in streamlit correct?

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Thank you for watching. I'm happy to hear that you like the content. I think it really depends on your use case. MS Forms is great and works right out of the box. However, if you need more customization options, the combination of Streamlit and Google Sheets could be another solution.

  • @nssdesigns
    @nssdesigns 5 месяцев назад

    This is super interesting and I can already think of uses for something like this. Do you have any videos on pulling data from spreadsheets Excel or Google Sheets and using that data to fill in online forms... like reverse scraping?

  • @aminedj430
    @aminedj430 7 месяцев назад

    great i will be using this in my next project wish i am working on now i needed a database for my collected info i think i can even add tableau to this.

    • @CodingIsFun
      @CodingIsFun  7 месяцев назад

      Glad it was helpful and good luck with your project! 🤞

  • @swelanauguste6176
    @swelanauguste6176 9 месяцев назад +2

    Thanks for the all the videos. Can you do a streamlit auth video with postgres?

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад +1

      Thank you for watching the videos! I will create another video to add authentication, but I cannot promise to use a PostgreSQL database for that. Nonetheless, the steps/code will be very similar.

  • @zazzleq6139
    @zazzleq6139 9 месяцев назад

    Haha 😂 that woman diving into the water was so funny

  • @linh-loantran8272
    @linh-loantran8272 9 месяцев назад +1

    Thanks very much for the video. Always enjoy and learn so much from your contents. Could you please integrate the authentication to protect this application?

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Happy to hear that you enjoyed this one as well! Yes, in the coming weeks, I will create another video to show how to add the authentication.

  • @HendrikYap
    @HendrikYap 9 месяцев назад +1

    Thank you for the lesson. Yeah now we need authentication and also how to let user update their own details.

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад +1

      Thanks for watching. Well noted! 👍

  • @tritruong1299
    @tritruong1299 7 месяцев назад

    Love your contents, can you do a project similar but using sharepoint api to update list ?

    • @CodingIsFun
      @CodingIsFun  7 месяцев назад

      Thanks for watching! I'm happy to hear that you are enjoying my videos, and thank you for your video suggestion. I can't make any promises, but your suggestion is well noted.

  • @InteligenciadeNegocios
    @InteligenciadeNegocios 7 месяцев назад

    Thank you for your help, just a quick question, i am facing the following error: Spreadsheet must be specified

    • @CodingIsFun
      @CodingIsFun  7 месяцев назад

      Hard to tell from a distance why you are facing an issue

  • @asseeltarish7217
    @asseeltarish7217 7 месяцев назад

    can you please tell me what python and streamlit versions you are using in this video because i am facing a lot of compatibility issues between them and other libraries such as st-gsheets-connection

    • @christophoramorim3147
      @christophoramorim3147 3 месяца назад

      Também estou com o mesmo problema, instalei apenas o python e vs code para começar e esta dando erro. Estou usando atualmente o python na versão 3.12.3

  • @jajwarehouse1
    @jajwarehouse1 9 месяцев назад +2

    Does this work if multiple users input data concurrently, or does it overwrite the google sheet with the last update?

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад +1

      Thanks for watching. Multiple users could use it at the same time.

  • @eimdev
    @eimdev 7 месяцев назад

    Thanks for the video. Is there any limitation for using the Google API?

    • @CodingIsFun
      @CodingIsFun  7 месяцев назад

      Thanks for watching. Have a look at the following Google Sheets rate limits: developers.google.com/sheets/api/limits
      I hope it helps! :)

  • @gongshow87
    @gongshow87 9 месяцев назад

    The Login screen would be super helpful, we'd need to keep the created login credentials somewhere else right?

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      Well noted! Yes, you would also need to set up a database to store/retrieve/update/delete the credentials.

  • @user-ue8jm2qm9c
    @user-ue8jm2qm9c 7 месяцев назад

    can streamlit makes an option to choose time? i want to have a dropdown to select a data (can be from live or just from csv) ie Week over Week (such as last 7 days), or month over month (previous 30 days), or even a quarter (previous 90 days)? seems like i cant find the option to do so, as a dropdown

    • @CodingIsFun
      @CodingIsFun  7 месяцев назад

      Thank you for watching! Unfortunately, the question you asked is not related to the video content. If you have any questions or need help, I suggest you join my Discord channel at pythonandvba.com/discord . Just make sure to read the forum rules before posting any questions.

  • @franklinajisogun
    @franklinajisogun Месяц назад

    Hey, thanks for the video. What color theme are you using on VSCode? Thanks.

    • @CodingIsFun
      @CodingIsFun  Месяц назад

      Thanks for watching. I am using Cobalt3: marketplace.visualstudio.com/items?itemName=alex-pattison.theme-cobalt3
      Cheers, Sven ✌️

    • @franklinajisogun
      @franklinajisogun Месяц назад

      @@CodingIsFun Thanks

  • @uzairsukor9366
    @uzairsukor9366 4 месяца назад

    This is great, but I have issue add new submission. It only update the previous submission instead of add in another new row.
    And is it normal for the slow run?

    • @CodingIsFun
      @CodingIsFun  4 месяца назад

      Thank you for watching. Please check out my code:
      github.com/Sven-Bo/google-sheets-data-entry-form-with-streamlit/blob/main/vendor_app.py
      You will need to append the new data to your dataframe. I hope it helps! Happy coding! Cheers, Sven ✌️

  • @mytube1000javed
    @mytube1000javed 8 месяцев назад +1

    Good. But what are benefits or advantages? Instead of entering data directly into gsheet?

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад

      Thanks for watching. It just an (practical) on how to connect Streamlit with Google Sheets.

  • @zafiqsyaddiqradzi
    @zafiqsyaddiqradzi 8 месяцев назад

    how do you retrieve the data from the spreadsheet to the streamlit?

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад

      Thanks for watching. Feel free to check out the code I provided on GitHub. Happy Coding!

  • @RedCloudServices
    @RedCloudServices 7 месяцев назад

    Does Streamlit connect to postgresql for a CRUD ui?

    • @CodingIsFun
      @CodingIsFun  7 месяцев назад

      Thanks for watching. Yes, it does. Have a look here: docs.streamlit.io/knowledge-base/tutorials/databases/postgresql

  • @merekissagalyev5994
    @merekissagalyev5994 9 месяцев назад +1

    Dear Sven! I am still getting this error when i try to st.dataframe(existing_data)
    I have done everything what you said in your last video, however still stuck with it. Please help me out

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад

      The error message would be helpful

    • @merekissagalyev5994
      @merekissagalyev5994 9 месяцев назад

      @@CodingIsFun I have attached the screenshot on ds

    • @merekissagalyev5994
      @merekissagalyev5994 9 месяцев назад

      @@CodingIsFun Traceback:
      ValueError("Spreadsheet must be specified")

  • @raphaelwerneck
    @raphaelwerneck 3 месяца назад

    Is it possible to delete a row? I am trying using the st.data_editor but is not working. Ty so much

    • @CodingIsFun
      @CodingIsFun  3 месяца назад +1

      Thanks for watching. Yes, that is possible. Have a look here: github.com/Sven-Bo/google-sheets-data-entry-form-with-streamlit/blob/main/vendor_app.py#L156
      Happy Coding! Cheers, Sven ✌️

    • @raphaelwerneck
      @raphaelwerneck 3 месяца назад

      @@CodingIsFun ty so much!

  • @ReliableAIBooks
    @ReliableAIBooks 4 месяца назад +1

    i want to add image upload in this form can u help?

  • @LitoDev800
    @LitoDev800 6 месяцев назад

    Hello, thank you for the video, I get the following errors when deploying my app:
    streamlit.runtime.caching.storage.cache_storage_protocol.CacheStorageKeyNotFoundError: Key not found in mem cache, &
    streamlit.runtime.caching.storage.cache_storage_protocol.CacheStorageKeyNotFoundError: Local disk cache storage is disabled (persist=None)

    • @CodingIsFun
      @CodingIsFun  6 месяцев назад

      Thanks for watching and for your question. Hard to tell from a distance why you are facing an error. Sorry that I cannot help.

  • @haninawaya9967
    @haninawaya9967 9 месяцев назад

    First comment 😊

  • @trdais369
    @trdais369 5 месяцев назад

    Hello sir, i have the problem when using input worksheet as mine, and the problem is
    "ValueError: Spreadsheet must be specified"
    and my error in coding was
    "existing_data = conn.read(worksheet="Data", usecols=list(range(6)), ttl=5)"
    Do u know how to fix it?
    Thanks a lot

    • @CodingIsFun
      @CodingIsFun  5 месяцев назад

      Thanks for watching. Did you share the technical user email address in Google Sheets as shown in the video? Cheers, Sven ✌️

  • @agushendra
    @agushendra 15 дней назад

    Hi, I got "No module named 'streamlit_gsheets'" error when running the app (7:01), I ran the app on my local computer and the st-gsheets-connection version is 0.0.4, can you help me to figure out the solution?

    • @CodingIsFun
      @CodingIsFun  15 дней назад

      Thanks for watching and for your question. Hard to tell from a distance why you are facing an error. Sorry that I cannot help.

  • @sneffetsd
    @sneffetsd 9 месяцев назад

    really would like to see how to make authentication with firebase.

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад +1

      Thanks for watching and your suggestion! 👍

  • @musharrafmk4315
    @musharrafmk4315 8 месяцев назад +1

    Thanks a lot sir but i m encountering with an error
    My app is working well when i locally host my app and it is even appending the data in my sheets but when i deploy it i m getting this as error
    ModuleNotFoundError: This app has encountered an error. The original error message is redacted to prevent data leaks. Full error details have been recorded in the logs (if you're on Streamlit Cloud, click on 'Manage app' in the lower right of your app).
    Traceback:
    File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 534, in _run_script
    exec(code, module.__dict__)
    File "/mount/src/appointments/appointments.py", line 4, in
    from streamlit_gsheets import GSheetsConnection

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад +1

      Thanks for watching. Have you included in the requirements.txt file in your GitHub repo?

  • @sma9276
    @sma9276 3 месяца назад

    Dear Sir, I cannot create .streamlit folder in my mac. so I got this error "ValueError: Spreadsheet must be specified"

    • @CodingIsFun
      @CodingIsFun  3 месяца назад

      Please have a look here: chat.openai.com/share/b587e0d4-aa17-43eb-acd7-ccc7278e98b0
      I hope it helps! Happy Coding! Cheers, Sven ✌️

  • @julmasson6403
    @julmasson6403 8 месяцев назад +1

    Dear Sven, thanks a lot for this video, this really helps for a project I need to implement.
    when following your steps, I got an error when testing the dataframe with st.dataframe(existing_data) at 6min.40 in the video.
    it returns the error "Spreadsheet must be specified" whereas you explicitly said it was not required.
    Do you know what I'm doing wrong ?
    thanks a lot
    Julien

    • @CameLinis
      @CameLinis 8 месяцев назад

      Check your secrets.toml if named correctly

    • @CodingIsFun
      @CodingIsFun  8 месяцев назад

      Hi Julien. Thanks for watching. Kindly double check if you have set up the secrets.toml file correctly.

  • @rajchandra6913
    @rajchandra6913 3 месяца назад

    Hi I followed all
    The output scren is showng
    ValueError: Spreadsheet must be specified

    • @CodingIsFun
      @CodingIsFun  3 месяца назад

      Thanks for watching. Did you share your technical email address with the spreadsheet as shown in the video? Cheers, Sven ✌️

    • @rajchandra6913
      @rajchandra6913 3 месяца назад

      @@CodingIsFun my bad
      I wrote the forlder name without ' . ' before streamlit
      It's working fine now

  • @uchiha_sasuke_48
    @uchiha_sasuke_48 9 месяцев назад +1

    I'm also developed a similar project. But instead of Google sheets, I've used MySQL database.
    After successfully deploying my streamlit app in Community cloud, my app was not rendering. It was taking at least 15 min to render my web page. Could you please tell me a solution? 😢

    • @CodingIsFun
      @CodingIsFun  9 месяцев назад +1

      Thanks for watching. Hard to tell from a distance. Sorry, that I cannot help!

    • @favourphilicvictor1059
      @favourphilicvictor1059 9 месяцев назад +1

      Please let me know when you finally are able to deploy a streamlit app with mysql successfuly. I am having similar challenge

  • @zollycp5044
    @zollycp5044 4 месяца назад

    Hi! i follow your step. but, i found an error while installing gsheets-connection like this
    note: This error originates from a subprocess, and is likely not a problem with pip.
    ERROR: Failed building wheel for pandas
    Failed to build pandas
    ERROR: Could not build wheels for pandas, which is required to install pyproject.toml-based projects
    I've already search on the internet to solve, but its still the same.

    • @CodingIsFun
      @CodingIsFun  4 месяца назад

      Thanks for watching and for your question. Hard to tell from a distance why you are facing an error. Sorry that I cannot help.

  • @hugovs27
    @hugovs27 16 дней назад

    from streamlit_gsheets import GsheetsConnection Ln 2 Col 6

  • @datadiego
    @datadiego 5 месяцев назад

    where is the entry_form file sheet ?

    • @CodingIsFun
      @CodingIsFun  5 месяцев назад

      Thanks for watching. You can easily create the spreadsheet yourself. I just used it as an example. And since it is private (as shown in the video), you will not have permission to access the sheet. Happy Coding! Cheers, Sven ✌

  • @historyofislam7509
    @historyofislam7509 Месяц назад

    Auto ML UI

  • @skabdullahnewaz8232
    @skabdullahnewaz8232 2 месяца назад

    Can i share it to whatsapp?

    • @CodingIsFun
      @CodingIsFun  2 месяца назад +1

      I don't know what you mean

  • @salman_3833
    @salman_3833 4 дня назад

    not sure why but i keep getting this error!
    ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject
    and it points to "from streamlit_gsheets import GSheetsConnection"

    • @CodingIsFun
      @CodingIsFun  4 дня назад

      Thanks for watching. Please clone the repo and try again. Cheers, Sven ✌️

  • @levinoppers8151
    @levinoppers8151 6 месяцев назад

    data = worksheet.spreadsheet.values_get(
    AttributeError: 'Worksheet' object has no attribute 'spreadsheet'
    this the error i get, but this isnt even in my python script, it worked fine before for like a week and now suddenly i get this error.

    • @CodingIsFun
      @CodingIsFun  6 месяцев назад

      Intersting. When I check my live demo app it still works as expected: vendor-data-entry.streamlit.app/