免费 Anki 牌组制作工具
将单词列表变成 Anki 牌组(.apkg):粘贴 Quizlet 导出内容或电子表格的两列,也可以打开 CSV 或 Excel 文件。支持基础、双向或键入答案卡片。可在 Anki、AnkiDroid 和 AnkiMobile 中打开,不会上传任何内容。
或打开 CSV、文本或 Excel 文件
CSV, TSV, TXT, XLSX, XLSM, XLS, ODS · 在你的设备上处理
或按 Ctrl+V 从剪贴板粘贴
每行一张卡片:看到正面,回忆背面。
之后修改列表时,请保持牌组名称和卡片类型不变:再次导入会更新卡片,而不会产生重复。
你的文件永远不会离开你的设备。所有处理都在你的浏览器中本地进行。
工作原理
本页会把你的列表拆分为卡片(正面、背面和可选的标签),然后写入与 Anki 存放卡片所用相同的 SQLite 数据库,并将其压缩为 .apkg 包。每张卡片都会根据牌组名称和正面内容获得固定的身份标识,因此之后导入修正过的列表时,会更新你已有的卡片。
- 1粘贴或打开你的列表粘贴 Quizlet 导出内容、电子表格的两列或类似“hola - hello”的行,也可以打开 CSV、文本或 Excel 文件。
- 2检查卡片分隔符会自动检测。预览会显示每一张卡片;如有需要,请勾选“第一行是标题行”或“交换正面和背面”。
- 3选择卡片类型选择基础、基础(及双向)(两个方向)或键入答案,并为牌组命名。
- 4下载并导入保存 .apkg 文件,并用 Anki、AnkiDroid 或 AnkiMobile 打开。
你的列表在此浏览器中生成牌组,绝不会被上传。
指南
操作示例
点击“试用示例”。文本框中会填入十行西班牙语,从“hola”和“hello”到“beber”和“to drink”,每行的两个词之间用制表符分隔。“牌组名称”填为“西班牙语基础”,分隔符菜单显示“自动检测(制表符(Quizlet、Excel))”。页面显示“10 行 → 10 张卡片”,展示第一张卡片(“hola”),可以用“点按翻转”翻面,并在“正面”“背面”“标签”下列出每一行。按钮显示“下载 Anki 牌组(10 张卡片)”。现在选择“基础(及双向)”。提示变为“每行两张卡片:正面 → 背面,以及背面 → 正面。”,计数变为“10 行 → 20 张卡片”,按钮显示 20 张卡片。点击它。在“正在生成牌组…”之后,会保存 Spanish basics.apkg,页面显示“牌组已就绪:20 张卡片。”
使用哪些设置,以及限制
- 每行放一张卡片,并选择分隔符。 “正面和背面之间的分隔符”提供制表符、逗号、分号、破折号、等号、冒号和竖线。“自动检测”会按制表符、竖线、分号、带空格的破折号、等号、冒号、逗号的顺序尝试,选取第一个出现在至少 80% 的行中的分隔符。如果没有任何一个达到,就选出现在最多行中的那个。破折号只有在两侧都有空格时才会分隔,因此“hola - hello”可以,“hola-hello”不行。对于破折号、等号和冒号,只有行中的第一个会起分隔作用,其余部分留在背面。如果猜错了,请自己选择分隔符。
- 释义中含有逗号时,请使用制表符或引号。 使用制表符、逗号、分号或竖线时,每行会像电子表格的一行那样读取。以双引号开头的单元格可以包含分隔符甚至换行,连续两个引号表示一个引号。一行中的第三个单元格会成为卡片的标签,按空格和逗号拆分并显示在“标签”列,第三个之后的单元格会被忽略。所以释义中没有加引号的逗号,会把其后的内容移入标签。Quizlet 导出和 Excel 的两列都使用制表符,可以避免这个问题。
- 选择卡片类型。 “基础”每行生成一张卡片:你看到正面,回忆背面。“基础(及双向)”每行生成两张卡片,从正面到背面和从背面到正面,所以卡片数是行数的两倍。“键入答案”每行生成一张卡片,你输入背面内容,Anki 会检查你的拼写。笔记使用的笔记类型是“LibraTool Basic”、“LibraTool Basic (and reversed card)”和“LibraTool Basic (type in the answer)”。卡片使用固定的朴素版式:居中的 Arial,24 px,并带有夜间模式配色。
- 使用标题行和交换选项,并查看预览。 当列表第一行是列名时,请勾选“第一行是标题行”;该行会被忽略。勾选“交换正面和背面”可以反方向学习。有正面无背面、或有背面无正面的行会被忽略,页面会提示“3 行没有背面内容,将被忽略。”空行会被直接忽略,不作提示。预览表格显示前 50 张卡片,然后是“…以及另外 12 项”(数字以你自己的为准)。
- 打开文件,而不是粘贴。 拖放区“或打开 CSV、文本或 Excel 文件”接受 .csv、.tsv、.txt、.xlsx、.xlsm、.xls 和 .ods 文件,一次一个,并把文字放入文本框。对于工作簿,只读取第一个工作表,第一列作为正面,第二列作为背面,第三列作为标签,并把分隔符设为制表符。文本文件按 UTF-8 读取,所以如果重音符号显示异常,请将 CSV 另存为 UTF-8。如果“牌组名称”为空,就使用去掉扩展名的文件名。
- 给牌组命名,更新时保持名称不变。 “牌组名称”最多 120 个字符,默认是“我的牌组”。输入 Spanish::Verbs 可创建子牌组。下载的文件以牌组命名,其中的 :: 显示为“ - ”,字符 \ / : * ? " < > | 替换为 _,名称截断为 80 个字符。牌组的 ID 来自它的名称,每条笔记的 ID 来自牌组名称、卡片类型和正面文字。用相同的名称和卡片类型再次导入修正后的列表,Anki 会更新匹配的卡片;正面、名称或类型有变化则会生成新卡片。
常见问题及解决方法
- 提示“还没有卡片:每行都需要正面和背面。请检查上方的分隔符。”
- 列表中有文字,但没有任何一行能拆成两个非空的部分。常见原因是行中不存在所选的分隔符:破折号两侧没有空格,或者各列只用空格隔开。请打开“正面和背面之间的分隔符”,依次尝试制表符、逗号或其他选项,直到计数行显示出卡片。如果勾选了“第一行是标题行”而列表只有一行,该行会被移除。卡片数为 0 时,下载按钮保持禁用。
- 提示“2 行没有背面内容,将被忽略。”(数字以你自己的为准)
- 这些行只产生了一个非空单元格。常见原因有:列表中混有标题行或备注行、某行缺少分隔符、某行有一侧留空。其他行仍会放入牌组。补上缺失的一侧或删除该行,提示就会消失。
- 背面看起来被截短了,“标签”列里多了一些词。
- 分隔符是逗号(或分号),而背面内容含有未加引号的该字符,于是这一行被拆成了两个以上的单元格。第二个分隔符之后的文字成了标签。请在源文件中给释义加上双引号,或像 Quizlet 和 Excel 复制那样用制表符导出。破折号、等号或冒号分隔符只拆分一次,所以不会产生标签。
- 提示“无法读取此文件。请将其另存为 CSV,或直接粘贴这两列内容。”
- 读取文件或其第一个工作表失败了。对于工作簿,这意味着文件无法解析,例如已损坏或受保护。请在电子表格程序中打开它,复制两列并粘贴到文本框中,或另存一份 CSV 再拖入。Word 文件或 PDF 会更早被拒绝,并提示类似“words.docx 是 DOCX 文件,此工具无法打开。”的消息。
- 提示“无法生成牌组。请重试,或将过长的列表拆分为两个牌组。”
- 在页面中生成数据库和压缩包时,写入牌组失败了。请先再点击一次下载按钮。如果列表非常长,请把它分到两个牌组中,例如命名为 Spanish::Part 1 和 Spanish::Part 2 作为子牌组,然后导入两者。这一步中的任何其他失败都会显示同一条提示。
对比分析
Anki 本身就能导入文本或 CSV 文件,有自己的字段、笔记类型和标签选项。此工具在文件到达 Anki 之前就完成格式处理:你会得到可在 Anki、AnkiDroid 和 AnkiMobile 中打开的成品 .apkg,并且能先看到卡片。它只制作正面和背面卡片,有三种卡片类型和固定的版式。不支持图片、音频、填空或 HTML:尖括号和 & 符号按输入原样显示,换行会保留。它不会读取你现有的 Anki 收藏,也不会改动你已有的牌组。作为交换,无需安装任何软件,列表在你的浏览器中转换成牌组,不会上传。