Posso convertire il mio file CSV in un mazzo Anki? Non riesco a trovare alcuna opzione nel programma.
Posso convertire il mio file CSV in un mazzo Anki? Non riesco a trovare alcuna opzione nel programma.
Risposte:
La versione desktop di Anki ti permetterà di importare " Testo separato da tabulazioni o punti e virgola ". Usa questa opzione per scegliere il tuo file CSV. Dopo aver aperto il file, ti verrà presentata una finestra di dialogo che ti permetterà di personalizzare il modo in cui i tuoi dati vengono importati. Una delle impostazioni è un'opzione che ti consente di scegliere il delimitatore. Cambia questo in una virgola e dovrebbe funzionare per te.
Un altro modo per generare .apkg
file a livello di codice riutilizzando la versione desktop con Python. Estendere:
PYTHONPATH=/usr/share/anki: python ...
ed esegui lo script (ovviamente dovresti adattarlo alle tue esigenze):
import anki
from anki.exporting import AnkiPackageExporter
collection = anki.Collection(os.path.join(TMPDIR, 'collection.anki2'))
deck_id = collection.decks.id(FBASENAME + "_deck")
deck = collection.decks.get(deck_id)
model = collection.models.new(FBASENAME + "_model")
model['tags'].append(FBASENAME + "_tag")
model['did'] = deck_id
model['css'] = """
.card {
font-family: arial;
font-size: 20px;
text-align: center;
color: black;
background-color: white;
}
.from {
font-style: italic;
}
"""
collection.models.addField(model, collection.models.newField('en'))
collection.models.addField(model, collection.models.newField('ru'))
tmpl = collection.models.newTemplate('en -> ru')
tmpl['qfmt'] = '<div class="from">{{en}}</div>'
tmpl['afmt'] = '{{FrontSide}}\n\n<hr id=answer>\n\n{{ru}}'
collection.models.addTemplate(model, tmpl)
tmpl = collection.models.newTemplate('ru -> en')
tmpl['qfmt'] = '{{ru}}'
tmpl['afmt'] = '{{FrontSide}}\n\n<hr id=answer>\n\n<div class="from">{{en}}</div>'
collection.models.addTemplate(model, tmpl)
model['id'] = 12345678 # essential for upgrade detection
collection.models.update(model)
collection.models.setCurrent(model)
collection.models.save(model)
note = anki.notes.Note(collection, model)
note['en'] = "hello"
note['ru'] = u"[heləʊ]\nint. привет"
note.guid = "xxx1"
collection.addNote(note)
note = collection.newNote()
note['en'] = "bye"
note['ru'] = u"[baɪ]\nint. пока"
note.guid = "xxx2"
collection.addNote(note)
export = AnkiPackageExporter(collection)
export.exportInto(FONAME)
Finché continui note.guid
e lo model['id']
stesso puoi importare DB con l' aggiornamento delle carte senza perdere progressi !
I miei esempi di codice di produzione: