法语助手到kindle系列1:法助+excel,形近生词排序解决方案
项目完整豆列 https://www.douban.com/doulist/137486145/
本文利用excel word宏的半自动实现方案见此:https://www.douban.com/note/796567266/
用法语助手的生词本背单词时候,希望把相似易混淆的词排在一起记忆。但法助无法直接调整生词本里的单个词序。
以下是利用法语助手的笔记编辑,生词本导入导出功能,借助excel实现的形近易混词整理方案。
1. 法助内编辑单词
这一步是在日常完成的。
(1)将需要的单词加入生词本
(2)在单词下的“我的笔记”,把该单词的相似易混词列在第一行,以"S:"作为这一行的开头,单词间以英文逗号作分隔。如图

注意
(1) 一定要放在第一行,否则后面excel处理时会找不到
(2) "S:"是我自己的标记,用来告诉excel这里有一行相似词。你可以用别的符号,只要它能代表“此符号开头的这一行是相似词”即可。在笔记里也只有相似词行以此符号开头,其它行不要出现这个符号。
(3) 如果一个单词没有相似词,那第一行也不要写这个“S:”符号。
(4) 多个相似单词之间,以英文逗号“,”分隔。
(5) 同属一个组的单词,它们的第一行都必须保持一致。如要增减单词,应在一个词下编辑好后,整行复制,粘贴到其它词的笔记中。例如图中的这一组单词:
raconter,rencontrer,connaître 它们的笔记第一行都是一样的。


2. 接下来把单词导出成html文件。
(1) 法助->工具->学习记录管理
(2)选取要导出的列表。本例中,我选择导出全部生词,故选中左侧列表最上方的生词本。括号中是该生词列表中的单词个数。

(3)点击“导出”按钮,导出参数全部默认,如下

(4)导出文件保存名为“生词HP04.html”
此时这个文件“生词HP04.html”主要有几个问题
(1) 它包含了我添加过的所有生词,而不仅仅是我认为容易混淆的
(2)里面单词的排序是乱的。法助无法对列表中的词序直接做手工调整,而我希望容易相混淆的词能相邻。
3.用excel进行筛选排序
(1)新建excel文件。数据->自其他来源->来自XML数据导入。

(2)导入刚才那个“生词HP04.html”。(如果选文件时候在浏览框里看不到生词HP04.html,把右下角的文件类型选成所有文件(*.*))

(3)在导入窗口点这个黄箭头,再点导入按钮。(如果点靠下方的那个箭头好像也没区别)。接下来跳出的小窗直接点确定。

(4)此时文件如下,B列是单词,D列是包括了笔记,释义等的全部内容,与html文件是一样的,但不同在于它逐行分割开了。但很容易看到,B列中的单词本身,与D列中的"S:"标记的行,正好在同一行。所以只要根据D列,把"S:"开头的行挑出来,并根据D列进行排序把D列内容相同的行排在相邻位置。

(5)在F2格编辑公式 =IF(LEFT(D2,2)="S:",1,0) 并填充到整个F列

F列下值为1的即为D列是"S:"开头的
(6)对F列筛选,只保留为1的

(7)再按D列进行排列

(8)此时的B列就是所需了,单独把B列复制出来,贴入记事本保存成txt文件,导入到法语助手里成一个单独的生词列表即可,过程在此不再赘述。
4. 其它问题:
实际使用中,第一步的编辑"S:"行时可能遗漏,比如一组四个词,结果只编辑了其中的三个,漏了一个没编,那这个词会因为没有"S:"而根本没被excel捞出来。但这个没捞出来的词,理论上在同组的三个词的D列中"S:"行里是能找到的,下面就是用D列的数据来校验B列数据的完整性:
(1)把上面excel中的D列的"S:"开头行复制出来,贴入word
(2)将所有"S:"替换为"",将所有","替换为"^p",将所有" "替换为""
(3)将上面处理好的word文档内容复制贴入一个新的excel,数据->删除重复项,这就是所有应当出现在生成结果中的词。
(4)将之前生成的B列复制出来,贴入一个新的excel,按顺序排列,这就是所有实际已经生成的词,做了下从小到大排序以便下面lookup公式使用。
(5)新建一个excel页,将步骤(3)的数据贴入B列,将步骤4的数据贴入A列。
在C2格编辑公式
=LOOKUP(B2,A:A)
在D2格编辑公式
=IF(B2=C2,TRUE,FALSE)
将C2和D2的公式填充C列和D列。
(6)筛选D列结果是false的,找到下面这些记录,这些在B列中的词,即是“被其它词标记了为同一组易混,却没有出现在输出文件中的”

(7)检查这些词,发现它们大部分被遗漏的原因是:从来没标记为生词ㄟ( ▔, ▔ )ㄏ 虽然可能我编辑过它们的笔记,可从来没点标注为生词,也没加入过任何生词本,所以在上面处理过程的导出全部生词那步,它们根本就不在里头。加回去再处理一遍,或者在txt文件里导入法助的那一步手工把它们加进去即可。
(8)还有一个莫名其妙的jaillirfiable,这一条原因是编辑笔记时候就不知道咋的少了个逗号,导致word文档做替换时候把空格给替了。。。那只好再强调一遍同组"S:"行要一致。。。写到这儿也算头尾呼应了。
