Câu trả lời:
Phiên bản Anki trên máy tính để bàn sẽ cho phép bạn nhập " Văn bản được phân tách bằng các tab hoặc dấu chấm phẩy ". Sử dụng tùy chọn này để chọn tệp CSV của bạn. Sau khi mở tệp, bạn sẽ thấy một hộp thoại cho phép bạn tùy chỉnh cách nhập dữ liệu của mình. Một trong các cài đặt là một tùy chọn cho phép bạn chọn dấu phân cách. Thay đổi dấu phẩy này thành dấu phẩy và nó sẽ phù hợp với bạn.
Một cách khác để tạo .apkg
tệp theo chương trình bằng cách sử dụng lại phiên bản máy tính để bàn với Python. Mở rộng:
PYTHONPATH=/usr/share/anki: python ...
và chạy tập lệnh (tất nhiên bạn nên điều chỉnh nó theo nhu cầu của mình):
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)
Miễn là bạn giữ note.guid
và model['id']
tương tự, bạn có thể nhập DB bằng cách cập nhật thẻ mà không mất tiến trình !
Ví dụ mã sản xuất của tôi: