क्या मैं अपनी CSV फ़ाइल को Anki डेक में बदल सकता हूँ? मुझे कार्यक्रम में कोई विकल्प नहीं मिल रहा है।
क्या मैं अपनी CSV फ़ाइल को Anki डेक में बदल सकता हूँ? मुझे कार्यक्रम में कोई विकल्प नहीं मिल रहा है।
जवाबों:
डेस्कटॉप Anki संस्करण आपको " टैब या अर्धविराम से अलग पाठ " आयात करने की अनुमति देगा । अपनी CSV फ़ाइल चुनने के लिए इस विकल्प का उपयोग करें। फ़ाइल खोलने के बाद, आपको एक संवाद के साथ प्रस्तुत किया जाएगा जो आपको अनुकूलित करने की अनुमति देता है कि आपका डेटा कैसे आयात किया जाता है। सेटिंग्स में से एक एक विकल्प है जो आपको सीमांकक चुनने की सुविधा देता है। इसे अल्पविराम में बदलें, और यह आपके लिए काम करना चाहिए।
.apkg
पायथन के साथ डेस्कटॉप संस्करण का पुन: उपयोग करके प्रोग्रामेटिक रूप से फ़ाइल जनरेट करने का दूसरा तरीका । बढ़ाएँ:
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 आयात कर सकते हैं !
मेरे उत्पादन कोड उदाहरण: