整理kindle的標註 —— python(My Clippings.txt 文件,運行代碼)

IHG洲際的常規大甩賣,登陸買分頁面可以看到:11月16日以前,購買至少7000點積分就可以享受買一贈一優惠,折後每萬分五十美元,這也是IHG官方賣分的最低價格。

Hilton 希爾頓啟動了新一輪五折買分促銷(需登錄查看),該活動截至10月22日。有購買積分兌換酒店住宿剛需的朋友可以考慮!

Marriott 萬豪終於推出了積分促銷活動:一次性購買2000積分及以上即可享受七折優惠。促銷截止日期:2019年10月18日

Hyatt 凱悅啟動了新一輪買分促銷。只需一次性購買一萬積分及以上,即可額外獎勵40%,這一促銷力度與歷史最佳折扣持平。如果你有購買積分的剛需,現在就是入手的時機!促銷截至美國時間10月18日。

kindle用久了,想在裡面找到原來標註的文字就非常的困難,世界讀書日,分享下幾年前剛買kindle時候編寫的整理標註的代碼,希望能對大家有用。

找到 kindle 裡面的 My Clippings.txt 文件,運行代碼

# -*- coding: utf-8 -*-
# ——– kindle to markdown—————–#
# ——– 生成每一本书的所有标记内容———–#
# ——– 按每本书名生成文件——————#

import os
# 1 read the file
path = ‘C:\\zywork\\book_zy\\My Clippings.txt’
f = open(path, ‘r+’, encoding=’utf-8′)
booknote = f.readlines()
f.close()
# 设置处理后的文件存储路径
write_path = ‘C:\\zywork\\kindle_new\\’
# 2 获取每一条记录的信息
name = [] # book name
pos_time = [] # position and time
content = [] # note content
len(booknote) # 每一条标记分为5行
for i in range(0, int(len(booknote) / 5)):
name.append(booknote[i * 5])
pos_time.append(booknote[i * 5 + 1])
content.append(booknote[i * 5 + 3])
setname = set(name) # 获取书名 从读取的所有书名中提取出书名
setname = list(setname)
setname.sort()

# 获取每一本书书名在[name list]中的所有索引号,存与note_dict中(字典类型)
note_dict = {}

def list_index(x, y):
return [a for a in range(len(y)) if y[a] == x]

for n in range(len(setname)):
note_dict[setname[n]] = list_index(setname[n], name)
# note_dict = [书名:list[]]

content_list = 0 # 每本书记录内容序号
for key, val in note_dict.items():
key = key[0:-1] # 消除书名中的‘\n’
key = key.replace(‘?’, ”) # 消除书名中的‘?’
key = key.replace(‘:’, ‘-‘) # 消除书名中的‘;’
booknote_new = open(write_path + key + ‘.md’, ‘w’, encoding=’utf-8′)
booknote_new.write(“# ” + key + ‘\n’) # 书名
for i in val:
content_list = content_list + 1
booknote_new.write(“* ” + str(content_list) + ‘:’ + content[i])
content_list = 0
booknote_new.close()

整理後一本書的 .md文件

寫在最後,注:免費試用Kindle unlimited 30天 及免費試聽Amazon Audible 30天 ,可隨時取消!百萬書籍暢讀!

本文標題:《整理kindle的標註 —— python(My Clippings.txt 文件,運行代碼)》,本文鏈接:http://www.yunjialebuy.com/archives/2829.html