google_sheet_handler.py aktualisiert
This commit is contained in:
@@ -272,7 +272,40 @@ class GoogleSheetHandler:
|
||||
except Exception as e:
|
||||
self.logger.error(f"FATAL: Ein unerwarteter Fehler ist beim Schreiben in '{sheet_name}' aufgetreten: {e}")
|
||||
return False
|
||||
|
||||
def get_sheet_as_dataframe(self, sheet_name):
|
||||
"""Liest ein komplettes Tabellenblatt und gibt es als Pandas DataFrame zurück."""
|
||||
try:
|
||||
if not self.client:
|
||||
if not self._connect(): return None
|
||||
|
||||
logging.debug(f"Lese Tabellenblatt '{sheet_name}' als DataFrame...")
|
||||
worksheet = self.client.open_by_url(self.sheet_url).worksheet(sheet_name)
|
||||
data = worksheet.get_all_records()
|
||||
df = pd.DataFrame(data)
|
||||
logging.info(f"{len(df)} Zeilen aus '{sheet_name}' als DataFrame geladen.")
|
||||
return df
|
||||
except gspread.exceptions.WorksheetNotFound:
|
||||
logging.warning(f"Tabellenblatt '{sheet_name}' nicht gefunden. Gehe davon aus, dass es leer ist.")
|
||||
return None
|
||||
except Exception as e:
|
||||
self.logger.error(f"Fehler beim Lesen des Sheets als DataFrame: {e}")
|
||||
return None
|
||||
|
||||
def append_rows(self, sheet_name, values):
|
||||
"""Hängt eine Liste von Zeilen an ein Tabellenblatt an."""
|
||||
try:
|
||||
if not self.client:
|
||||
if not self._connect(): return False
|
||||
|
||||
logging.debug(f"Hänge {len(values)} Zeilen an das Tabellenblatt '{sheet_name}' an...")
|
||||
worksheet = self.client.open_by_url(self.sheet_url).worksheet(sheet_name)
|
||||
worksheet.append_rows(values, value_input_option='USER_ENTERED')
|
||||
logging.info(f"{len(values)} Zeilen erfolgreich an '{sheet_name}' angehängt.")
|
||||
return True
|
||||
except Exception as e:
|
||||
self.logger.error(f"Fehler beim Anhängen von Zeilen an das Sheet: {e}")
|
||||
return False
|
||||
|
||||
@retry_on_failure
|
||||
def batch_update_cells(self, update_data):
|
||||
|
||||
Reference in New Issue
Block a user