ฉันสามารถแปลงไฟล์ CSV เป็นเด็ค Anki ได้หรือไม่ ฉันไม่พบตัวเลือกใด ๆ ในโปรแกรม
ฉันสามารถแปลงไฟล์ 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']
เดียวกับที่คุณสามารถนำเข้าฐานข้อมูลที่มี การอัปเดตบัตรโดยไม่สูญเสียความคืบหน้า !
ตัวอย่างรหัสการผลิตของฉัน: