kindle笔记去重去日期标签

kindle的笔记推荐方式是使用clippings.io网站,可以自动去重标签,简化阅读,同时按书名分类,方便导入印象笔记。
这里使用python自己尝试去重。方法是遍历每段文字时,取每段的前8个字符,加入到集合。如果所遍历的文字没有出现在集合中,就写入到txt文件中。反之,则不写入。
方法一:

rtext=open("My Clippings.txt","r",encoding='utf-8')#kindle中的txt放到py文件的根目录
wtext=open("Clipping.txt","w",encoding='utf-8')#输出的文件名
 
lines=set()   #声明lines是空集合
for i in rtext:
    a = i.strip()   #去除换行键
    g=a[:8]#通过每行的前8个字符来比对
    if g not in lines:
        lines.add(g)#集合中没有g的记录,则添加进去
        wtext.write(a+"\n\n\t") #逐行写入并加入两个回车和一个首行缩进,根据自己的喜好是否阅读时有回车,不喜欢删除一个\n

kindle选择文字毕竟没有手机那么灵敏,同时kindle的高亮笔记只有选中过,就会自动添加到My Clippings.txt中,即使取消高亮或redo也会生成,而不会删除不需要的笔记。多次选中文字就会有重复的笔记生成,我的习惯是以最后一次为满意的结果。所以我将列表反着遍历,取最后一次的结果,否则正常遍历就会写入第一次出现的文字。 方法二,有个小缺陷就是书的名字出现在每本书笔记的末尾。
方法二:

rtext=open("My Clippings.txt","r",encoding='utf-8').readlines()#kindle中的txt放到py文件的根目录,逐段读取并生成列表
wtext=open("Clipping.txt","w",encoding='gb18030')#输出的文件名,编码方式要gb18030,否则乱码
lines=set()   #声明lines是空集合
reverse_list=[]
rtext.reverse()
for i in rtext:
    g = i[:8]#通过每行的前8个字符来比对
    if g not in lines:#集合中没有g的记录,则添加进去
        lines.add(g)
        reverse_list.append(i)
reverse_list.reverse()#逆序列表,变成正常的顺序
for j in reverse_list:
    wtext.write(j+'\n\t')#逐行写入并加入一个回车和一个缩进,根据自己的喜好是否阅读时有回车,不喜欢删除\n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值