mp3cut begonnen

This commit is contained in:
Sven Riwoldt
2025-02-02 17:12:43 +01:00
parent 3c5b005b29
commit ae96c4d18b
44 changed files with 1348 additions and 0 deletions

86
csv2anki_mp3.py Normal file
View File

@@ -0,0 +1,86 @@
import genanki
import csv
import random
# Variablen
ausgabe_datei = "LZ.apkg"
csv_datei = "LZ.csv" # Name der CSV-Datei
# Konvertieren der LZ-Kopie zu CSV, CSV-Trenner ist das Semikolon
# Datei einlesen und neue Datei schreiben
with open('LZ.txt', 'r', encoding='utf-8') as input_file, open('LZ.csv', 'w', encoding='utf-8', newline='') as output_file:
reader = csv.reader(input_file, delimiter='\t') # Tab als Trennzeichen
writer = csv.writer(output_file, delimiter=';') # Semikolon als Trennzeichen
for row in reader:
if len(row) >= 3: # Sicherstellen, dass es mindestens 3 Spalten gibt
writer.writerow([row[1], row[2]]) # Spalte 2 und 3 schreiben
# Erstelle ein Anki-Deck
deck_id = 123456789 # Zufällige Zahl, um das Deck eindeutig zu identifizieren
deck_name = "Langzeit" # Name des Decks
my_deck = genanki.Deck(deck_id, deck_name)
# Definiere ein einfaches Anki-Kartenmodell
my_model = genanki.Model(
1607392319, # 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}}<hr id='answer'>{{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))
# Als "Normal" drehen
karten.append((antwort,frage))
#my_note = genanki.Note(
# model=my_model,
# fields=[frage, antwort],
#)
#my_deck.add_note(my_note)
# Mische die Reihenfolge der Karten
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.")