import genanki import csv import random # Variablen ausgabe_datei = "Problem.apkg" csv_datei = "Problem.csv" # Name der CSV-Datei # Erstelle ein Anki-Deck deck_id = 123456789 # Zufällige Zahl, um das Deck eindeutig zu identifizieren deck_name = "Problem-Vokabeln" # Name des Decks my_deck = genanki.Deck(deck_id, deck_name) # Definiere ein einfaches Anki-Kartenmodell my_model = genanki.Model( 1607883319, # Zufällige Zahl, um das Modell eindeutig zu identifizieren "Einfaches Modell", fields=[ {"name": "Frage"}, {"name": "Antwort"}, ], templates=[ { "name": "Normal", "qfmt": "{{Frage}}", # Front der Karte "afmt": "{{FrontSide}}
{{Antwort}}", # Rückseite der Karte }, ], css=""" .card { display: flex; justify-content: center; align-items: center; text-align: center; font-family: Arial, sans-serif; font-size: 24px; height: 100%; } """, ) # Lies die CSV-Datei und füge Karten hinzu karten = [] with open(csv_datei, "r", encoding="utf-8") as file: reader = csv.reader(file,delimiter=";") next(reader) # Überspringe die Kopfzeile for i, row in enumerate(reader, start=2): # Starte bei Zeile 2 wegen der Kopfzeile if len(row) != 2: print(f"Warnung: Zeile {i} hat nicht genau 2 Spalten und wird übersprungen: {row}") continue frage, antwort = row karten.append((frage, antwort)) karten.append((antwort,frage)) random.shuffle(karten) # Füge die gemischten Karten zum Deck hinzu for frage, antwort in karten: my_note = genanki.Note( model=my_model, fields=[frage, antwort], ) my_deck.add_note(my_note) # Erstelle das Anki-Paket genanki.Package(my_deck).write_to_file(ausgabe_datei) print(f"Anki-Stapel wurde erfolgreich in '{ausgabe_datei}' gespeichert.")