ich stehe mal wieder vor einem Excel-Python-Problem und hoffe ihr könnt mir helfen.
Ich arbeite unter Windows.
In einer Excel-Zelle steht folgende Bedingung(Minimalbeispiel):
Code: Alles auswählen
=WENN(A1=1;SVERWEIS(A1;J2:K2;2;FALSCH);"-")
Folgender Python-Code gibt mir aber "None" aus:
Code: Alles auswählen
import xlwings as xw
from pathlib import Path
EXCEL_FILE = Path(r"C:\Users\dennis\Documents\Test.xlsx")
SHEET_NAME = "Tabelle1"
CELL_TO_READ = "B1"
def read_excel_file(filename):
with xw.App() as excel_app:
excel_app.visible = False
workbook = excel_app.Book.open(
filename,
read_only=True,
)
worksheet = workbook.sheets[SHEET_NAME]
return worksheet.range(CELL_TO_READ).value
def main():
print(read_excel_file(EXCEL_FILE))
if __name__ == "__main__":
main()
Wenn ich die "Wenn-Dann" -Abfrage rausnehme und nur den SVERWEIS drin lasse, dann funktioniert das Auslesen. Leider sind das eine Unmengen an Excel-Dateien, wenn ich die händisch bearbeite, dann könnte ich auch gleich die Wert die mich interessieren rausscheiben.(Und ich wäre dieses Jahr beschäftigt)
Als erstes hatte ich es mit "Openpyxl" versucht, da das ein "data_only"-Argument hat, aber wenn ich das mit True angebe, bekomme ich die Werte auch nicht. Dann habe ich mich erinnert, das ich sowas ähnliches mal mit "xlwings" gemacht habe und darauf stoßt man auch im Netz. Aber irgendwie will es nicht wirklich.
Würde mich sehr freuen, wenn einer von euch einen Hinweis für mich hätte.
Vielen Dank vorab.
(sonnige) Grüße
Dennis