CSV 파일을 Anki 데크로 변환 할 수 있습니까? 프로그램에서 옵션을 찾을 수 없습니다.
답변
데스크탑 Anki 버전에서는 ” 탭 또는 세미콜론으로 구분 된 텍스트 “를 가져올 수 있습니다 . 이 옵션을 사용하여 CSV 파일을 선택하십시오. 파일을 연 후에는 데이터 가져 오기 방법을 사용자 정의 할 수있는 대화 상자가 표시됩니다. 설정 중 하나는 구분자를 선택할 수있는 옵션입니다. 이것을 쉼표로 바꾸면 효과가 있습니다.
답변
.apkg
Python으로 데스크톱 버전을 재사용하여 프로그래밍 방식으로 파일 을 생성하는 또 다른 방법 입니다. 넓히다:
PYTHONPATH=/usr/share/anki: python ...
스크립트를 실행하십시오 (물론 필요에 맞게 수정해야 함).
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)
당신이 유지 note.guid
하고 model['id']
동일하게 당신은 진행을 잃지 않고 카드 를 업데이트 하여 DB를 가져올 수 있습니다 !
내 프로덕션 코드 예제 :