A Streamlit application for browsing and analyzing Google Drive spreadsheets and Excel files.
.
├── main.py # Application entry point
├── config.py # Configuration settings
├── components/ # UI components
│ ├── sidebar.py # Sidebar navigation
│ └── data_view.py # Data display components
├── services/ # External API services
│ └── google_service.py # Google Drive/Sheets API
├── utils/ # Utility functions
│ ├── file_operations.py # File handling utilities
│ ├── data_processing.py # Data processing utilities
│ └── session_state.py # Streamlit session state management
├── .env # Environment variables (not tracked in Git)
└── requirements.txt # Project dependencies
- Browse folders and files in Google Drive
- View Google Sheets and Excel (.xls/.xlsx) files
- Display all sheets/tabs simultaneously as tabs
- Filter data by column values on each tab
- Search across all columns within each tab
- Download individual sheets as CSV or Excel
- Download the entire workbook as an Excel file
- View summary statistics for numeric data
- Create a Google Cloud Project and enable the Google Drive and Google Sheets APIs
- Create a service account and download the JSON credentials
- Create a
.envfile with the following environment variables:GOOGLE_DRIVE_CREDENTIALS='{"type": "service_account", ...}' GOOGLE_DRIVE_PARENT_FOLDER_ID='your_folder_id' - Install dependencies:
pip install -r requirements.txt - Run the application:
streamlit run main.py
GOOGLE_DRIVE_CREDENTIALS: JSON string of Google service account credentialsGOOGLE_DRIVE_PARENT_FOLDER_ID: The ID of the parent folder to browse (optional, defaults to root)
- podman build -t google-spreadsheet-explorer .
- podman run --env-file .env -p 8501:8501 google-spreadsheet-explorer