CSV dosyamı bir Anki destesine dönüştürebilir miyim? Programda hiçbir seçenek bulamıyorum.
CSV dosyamı bir Anki destesine dönüştürebilir miyim? Programda hiçbir seçenek bulamıyorum.
Yanıtlar:
Masaüstü Anki sürümü, " Sekmeler veya noktalı virgüllerle ayırarak metni " içe aktarmanıza izin verir . CSV dosyanızı seçmek için bu seçeneği kullanın. Dosyayı açtıktan sonra, verilerinizin nasıl içe aktarılacağını özelleştirmenize izin veren bir iletişim kutusu sunulur. Ayarlardan biri, sınırlayıcıyı seçmenize izin veren bir seçenektir. Bunu virgülle değiştirin ve sizin için işe yaramalı.
.apkg
Masaüstü sürümünü Python ile yeniden kullanarak programlı bir şekilde dosya oluşturmanın başka bir yolu . uzatın:
PYTHONPATH=/usr/share/anki: python ...
ve komut dosyasını çalıştırın (elbette ihtiyaçlarınıza göre uyarlamanız gerekir):
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)
Devamlı note.guid
ve model['id']
aynı kaldığınız sürece , ilerleme kaydetmeden DB'yi güncelleme kartlarıyla içe aktarabilirsiniz !
Üretim kodum örnekleri: