1. 程式人生 > >Python讀取excel表格時,意外的深入理解info字典問題

Python讀取excel表格時,意外的深入理解info字典問題

append hello clas 鍵值 print 商城 tables 包括 excel表格

import xlrd
import re
def excel_table_byindex():
    data = xlrd.open_workbook(crawlingPhonePrice_new.xlsx)    #打開一個excel表格,表格有手機名,價格
    table=data.sheets()[0]
    nrows=table.nrows
    ncols=table.ncols
    colnames=table.row_values(0)
    #print(colnames)
    info={}    #存放鍵值對,手機名價格
    spam=[]    #將info字典存放在spam列表中

    
    
for rownum in range(1,4):#循環3個數據,Python循環是減1 phone_name=table.row_values(rownum)[0] phone_price=table.row_values(rownum)[1] info[phoneName]=phone_name info[phonePrice]=phone_price print(info)技術分享 spam.append(info) print(spam) #print(spam)
def main(): tables=excel_table_byindex() #tianjia() def tianjia(): spam=[] for i in range(1,5): spam.append(hello%d%i) print(spam) if __name__=="__main__": main()


#######
打印出來info每次都不一樣,第一次是OPPO,插入到列表中,
第二次是三星,再次放入列表中,此時列表有兩個數據,兩個都是info,安按照之前想法是應該兩個值不相同,但是明顯都是相同的,都變成了三星。
思索良久,列表存放的知識info,而info是只創建了一個地址,每次會改變數據
,所以第一次改變後,之前的OPPO數據也就變成了三星數據,而列表
存放的兩個數據,都是同一個info,所以每次插入都是改變後的值。
雖然沒什麽用,不過感悟電腦其實都是循規蹈矩的,只是我們不懂他們的工作原理。這兩天被用爬蟲爬取鏈家,京東,zlo商城的數據,發現很多基本原理的問題,
包括正則表達式匹配,包括頁面代碼獲取不到價格,原來頁面的價格為了防爬蟲,是通過二次調用請求得到的,不是寫死在頁面代碼中。
知識無止境,人生需努力。




Python讀取excel表格時,意外的深入理解info字典問題