Bisakah saya mengonversi file CSV saya menjadi dek Anki? Saya tidak dapat menemukan opsi dalam program ini.
Bisakah saya mengonversi file CSV saya menjadi dek Anki? Saya tidak dapat menemukan opsi dalam program ini.
Jawaban:
Versi desktop Anki akan memungkinkan Anda untuk mengimpor " Teks dipisahkan oleh tab atau titik koma ." Gunakan opsi ini untuk memilih file CSV Anda. Setelah membuka file, Anda akan disajikan dialog yang memungkinkan Anda untuk menyesuaikan cara data Anda diimpor. Salah satu pengaturan adalah opsi yang memungkinkan Anda memilih pembatas. Ubah ini menjadi koma, dan itu akan bekerja untuk Anda.
Cara lain untuk menghasilkan .apkg
file secara terprogram dengan menggunakan kembali versi desktop dengan Python. Memperpanjang:
PYTHONPATH=/usr/share/anki: python ...
dan jalankan skrip (tentu saja Anda harus menyesuaikannya dengan kebutuhan Anda):
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)
Selama Anda tetap note.guid
dan model['id']
sama, Anda dapat mengimpor DB dengan memperbarui kartu tanpa kehilangan kemajuan !
Contoh kode produksi saya: