¿Puedo convertir mi archivo CSV en un mazo Anki? No puedo encontrar ninguna opción en el programa.
¿Puedo convertir mi archivo CSV en un mazo Anki? No puedo encontrar ninguna opción en el programa.
Respuestas:
La versión de escritorio de Anki le permitirá importar " Texto separado por pestañas o punto y coma ". Use esta opción para elegir su archivo CSV. Después de abrir el archivo, se le presentará un cuadro de diálogo que le permite personalizar cómo se importan sus datos. Una de las configuraciones es una opción que le permite elegir el delimitador. Cambie esto a una coma, y debería funcionar para usted.
Otra forma de generar .apkg
archivos mediante programación reutilizando la versión de escritorio con Python. Ampliar:
PYTHONPATH=/usr/share/anki: python ...
y ejecute el script (por supuesto, debe adaptarlo a sus necesidades):
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)
En tanto se mantiene note.guid
y la model['id']
misma puede importar DB con la actualización de las tarjetas sin perder el progreso !
Mis ejemplos de código de producción: