Spaces:
Runtime error
Runtime error
import pandas as pd | |
from typing import Any | |
from typing import List | |
import my_new_openai | |
import my_1_writer | |
def get_row_names(file_path: str, sheet_name="Block5", header=4, index_col=7) -> List[str]: | |
""" | |
Diese Funktion liest alle Zeilennamen aus der angegebenen Excel-Datei und gibt sie als Liste von Zeichenketten zurück. | |
Argumente: | |
file_path (str): Der Dateipfad zur Excel-Datei. | |
Rückgabewert: | |
List[str]: Eine Liste von Zeilennamen als Zeichenketten. | |
""" | |
try: | |
df = pd.read_excel(file_path, sheet_name=sheet_name, header=header, index_col=index_col) | |
return df.index.astype(str).tolist() | |
except Exception as e: | |
return [str(e)] | |
def get_col_names(file_path: str, sheet_name="Block5", header=4, index_col=7) -> List[str]: | |
""" | |
Diese Funktion liest alle Spaltennamen aus der angegebenen Excel-Datei und gibt sie als Liste von Zeichenketten zurück. | |
Argumente: | |
file_path (str): Der Dateipfad zur Excel-Datei. | |
Rückgabewert: | |
List[str]: Eine Liste von Spaltennamen als Zeichenketten. | |
""" | |
try: | |
df = pd.read_excel(file_path, sheet_name=sheet_name, header=header, index_col=index_col) | |
return df.columns.astype(str).tolist() | |
except Exception as e: | |
return [str(e)] | |
def get_cell_value(file_path: str, row_name: str, col_name: str, sheet_name="Block5") -> str: | |
""" | |
Diese Funktion gibt den Wert der Zelle als Zeichenkette zurück, in der der angegebene Zeilenname und Spaltenname | |
zuerst gefunden wurden. Falls der Zeilenname oder Spaltenname nicht existiert, wird eine entsprechende | |
Fehlermeldung zurückgegeben. | |
Argumente: | |
file_path (str): Der Dateipfad zur Excel-Datei. | |
row_name (str): Der Name der Zeile. | |
col_name (str): Der Name der Spalte. | |
Rückgabewert: | |
str: Der Wert der Zelle als Zeichenkette, falls vorhanden. Andernfalls eine Fehlermeldung. | |
""" | |
try: | |
df = pd.read_excel(file_path, sheet_name=sheet_name, header=4, index_col=8) | |
if row_name not in df.index: | |
return f"Zeilenname '{row_name}' nicht im DataFrame gefunden." | |
if col_name not in df.columns: | |
return f"Spaltenname '{col_name}' nicht im DataFrame gefunden." | |
return str(df.at[row_name, col_name]) | |
except Exception as e: | |
return str(e) | |
def get_header_dict(): | |
file_path = 'data/kbob.xlsx' | |
# print(get_cell_value(file_path, 'sdlöfjasko', 'Kältetechnik (D06)')) | |
rows = get_row_names(file_path) | |
cols = get_col_names(file_path) | |
colheads = get_col_names(file_path, header=3) | |
head = "" | |
my_cols = {} | |
for e in colheads: | |
if "Unnamed" not in e: | |
head = e | |
else: | |
colheads[colheads.index(e)] = head | |
print(colheads) | |
print(cols) | |
print(len(colheads), len(cols)) | |
for i in range(len(colheads)): | |
if "Unnamed" not in cols[i]: | |
if colheads[i] not in list(my_cols.keys()): | |
my_cols[colheads[i]] = [cols[i]] | |
else: | |
my_cols[colheads[i]].append(cols[i]) | |
print(my_cols) | |
print((len(list(my_cols.keys())))) | |
return my_cols | |
def create_kbob_vectors(headers: dict): | |
for e in list(headers.keys()): | |
header_list = [e + ": " + headers[e][_] for _ in range(len(headers[e]))] | |
print(f"{e}: {header_list}") | |
print() | |
vecs = my_new_openai.vectorize_data(header_list) | |
my_1_writer.safe_my_dict_as_json(f"vecs/{e}_vecs.json", vecs) | |
if __name__ == '__main__': | |
h = get_header_dict() | |
print(h.keys()) | |
#create_kbob_vectors(h) | |