在创建卡片组时,导入到Anki后,Anki说已经添加了注释,但是我在Anki的浏览器中找不到它们。代码如下:
from openpyxl import load_workbook
import genanki
import random
beg = 1000000000
end = 9999999999
id_list = []
for i in range(0, 5000):
randomNum = random.randint(beg,end)
while randomNum in id_list:
randomNum = random.randint(beg, end)
id_list.append(randomNum)
model = genanki.Model(
id_list[-1],
'Simple Model',
fields=[
{'name': 'Meaning'},
{'name': 'Arabic Spelling'},
{'name': 'Phonetic Spelling'},
{'name': 'Audio'},
],
templates=[
{
'name': 'Only Card',
'qfmt': 'How do you say:<div style="font-family: Arial; font-size:
40px; padding: 20px;">{{Arabic Spelling}}</div>',
'afmt': '{{FrontSide}}<hr id=answer><div style="font-family: Arial;
font-size: 20px; padding: 20px;">{{Meaning}}</div><div
style="font-family: Arial; font-size: 20px; padding: 20px;">
<em>{{Phonetic Spelling}}</em></div><div style="font-family:
Arial; font-size: 20px; padding: 20px;">{{Audio}}</div>',
},
])
del id_list[-1]
my_deck = genanki.Deck(
id_list[-1],
'test')
del id_list[-1]
wb = load_workbook("all_words.xlsx")
sheet = wb.get_sheet_by_name('ALL WORDS')
englishWordList = []
for col_cells in sheet.iter_cols(min_row=2, min_col=1, max_col=1):
for cell in col_cells:
englishWordList.append(cell.value)
i = 0
for word in englishWordList:
note = genanki.Note(
sort_field=id_list[i],
model=model,
fields=[word, "", "", ""]
)
my_deck.add_note(note)
i = i + 1
i = 0
genanki.Package(my_deck).write_to_file("testOutput.apkg")
输出是一个anki牌组,它创建了所有的笔记,但是我在anki浏览器中找不到它们。Anki告诉我“清理数据库”,因为数据库处于“不一致状态”。下面是两张图片:添加注释的证明和错误描述:
此外,我还尝试禁用所有可能干扰的加载项。它没有起作用,也没有改变结果。有人能帮忙吗?我想也许Anki需要创建一张卡片,以便在Anki浏览器中显示注释,但是genanki没有关于如何创建卡片的说明。Genanki文档:genanki readme
答:当生成笔记时,确保{FrontSide}}有数据-我上面的脚本在前面的“阿拉伯语拼写”字段中没有数据。如果卡片正面没有任何内容,则不会生成任何卡片。将生成注释,但无法访问。你知道吗
我还被告知,从我的数组id\u列表中分配sort\u字段可能有问题。有关更多说明,请参阅reddit帖子:my reddit post.
相关问题 更多 >
编程相关推荐