循環寫入字典key、value、刪除指定的鍵值對:
原文本‘jp_url.txt’每行元素以逗號分隔:
ah2.zhangyue.com,100002,掌閱,bookId=,&startChapterId
ih2.ireader.com,100002,掌閱,bid=,&
www.ireader.com,100002,掌閱,&bid=,&cid
m.zhangyue.com,100002,掌閱,readbook/,/
c13.shuqireader.com,100003,書旗,bookId=,&chapterId
t.shuqi.com,100003,書旗,bid/,/cid
代碼如下:
def makeDict():
fileRead=open('jp_url.txt','rb')
lines=fileRead.readlines()
read_dict={}#定義字典
for line in lines:
line_list=line.split(',')#每行按逗號分隔成列表
id=line_list[1]#取到id
name=line_list[2]#取到name
read_dict[id]=name#此處關鍵產生鍵值對,其中key是id
read_dict.pop('product_id')#刪除key爲‘product_id’的鍵值對
return read_dict
read_dict=makeDict()
循環寫入一鍵對多值:
guaguashipinliaotianshi|iguagua.net,
guaguashipinliaotianshi|.17guagua.com,
jiuxiumeinvzhibo|.69xiu.com,
nbazhibo|.estream.cn,
youbo|yb.sxsapp.com,
其中第一列的名字有重複想要一個名字對應多個結果,代碼如下:
def makehostDict():
host_dict={}
f_allhost=open('xml_host.txt','rb')
lines=f_allhost.readlines()
for line in lines:
line_list=line.split('|')
name=line_list[0]
host=line_list[1].strip('\n')
if host is not '':
if host_dict.has_key(name):
host_dict.get(name).append(host)#此處爲關鍵向字典裏已經有的key(name)值後繼續添加value(host)
else:
host_dict.setdefault(name,[]).append(host)#創建{name,[host]}value爲列表的格式的字典。
return host_dict
host_dict=makehostDict()
print host_dict