使用python查找重復(fù)值

任務(wù)要點(diǎn)

在詞表中衩辟,一些單詞重復(fù),并有重復(fù)例句赁豆。找出所有重復(fù)單詞的索引仅醇,并將重復(fù)例句合并。最后將整張?jiān)~表分割成重復(fù)值和非重復(fù)值部分魔种。

核心代碼

1析二、使用xlwt和xlrd模塊讀寫(xiě)Excel

讀取Excel的步驟在于,獲得所有sheet名字的數(shù)組节预,通過(guò)名字讀取某一個(gè)sheet的內(nèi)容叶摄,然后使用sheet.row_values()和sheet.col_values()獲取某一行或列的內(nèi)容。

initialData = ‘...’ #需要讀取的excel的路徑
workbook = xlrd.open_workbook(initialData)
sheet_names = workbook.sheet_names()
sheet = workbook.sheet_by_name(sheet_names[0])
data = sheet.col_values(4)

寫(xiě)入EXCEL的步驟在于安拟,使用xlwt.Workbook()新建一個(gè)Excel緩存蛤吓,然后使用.add_sheet()指定名字新建sheet。

book = xlwt.Workbook(encoding='utf-8', style_compression=0)
wSheet1 = book.add_sheet("noRepetition")
wSheet2 = book.add_sheet("repetition")

2糠赦、使用set(data)去除所有重復(fù)值

構(gòu)建矩陣allData柱衔,儲(chǔ)存所有單詞的序號(hào)、重復(fù)次數(shù)愉棱、單詞內(nèi)容唆铐。

data_unique = set(data)
allData = []
    
for item in data_unique:
    id = data.index(item)
    num = data.count(item)
    allData.append([id,num,data[id].strip()])

3、查找所有例句

核心思想是使用.index()查找重復(fù)單詞的所有例句奔滑,.index()只能查找找到的第一個(gè)單詞的索引艾岂。根據(jù)重復(fù)單詞的重復(fù)次數(shù),把之前找到的單詞有其他內(nèi)容代替朋其,然后循環(huán)查找王浴,就能找到所有例句了。(引自:https://blog.csdn.net/qq_33094993/article/details/53584379梅猿,也叫“偷梁換柱”)

nid = id
for n in range(num-1):
    data[nid] = 'quchu'
    print(id, num, data[nid])
    nid = data.index(word)
    nwordData = sheet.row_values(nid)
    wSheet2.write(c2, 1+dlen+4*n, nwordData[6])
    wSheet2.write(c2, 1+dlen+4*n+1, nwordData[7])
    wSheet2.write(c2, 1+dlen+4*n+2, nwordData[8])
    wSheet2.write(c2, 1+dlen+4*n+3, nwordData[9])

所有代碼

import xlwt,xlrd

initialData = 'book.xlsx'
workbook = xlrd.open_workbook(initialData)
sheet_names = workbook.sheet_names()

sheet = workbook.sheet_by_name(sheet_names[0])
data = sheet.col_values(4)
print(len(data))
for i in range(len(data)):
    data[i] = data[i].strip()
    
data_unique = set(data)
allData = []
    
for item in data_unique:
    id = data.index(item)
    num = data.count(item)
    allData.append([id,num,data[id].strip()])

book = xlwt.Workbook(encoding='utf-8', style_compression=0)
wSheet1 = book.add_sheet("noRepetition")
wSheet2 = book.add_sheet("repetition")
c1 = 0
c2 = 0
for d in allData:
    id = d[0]
    
    num = d[1]
    word = d[2]
    
    wordData = sheet.row_values(int(id))
    if num > 1:
        wSheet2.write(c2, 0, num)
        dlen = len(wordData)
        for i in range(dlen):
            wSheet2.write(c2, i+1, wordData[i])
        nid = id
        for n in range(num-1):
            data[nid] = 'quchu'
            print(id, num, data[nid])
            nid = data.index(word)
            nwordData = sheet.row_values(nid)
            wSheet2.write(c2, 1+dlen+4*n, nwordData[6])
            wSheet2.write(c2, 1+dlen+4*n+1, nwordData[7])
            wSheet2.write(c2, 1+dlen+4*n+2, nwordData[8])
            wSheet2.write(c2, 1+dlen+4*n+3, nwordData[9])
        c2 = c2 + 1
    else:
        for i in range(len(wordData)):
            wSheet1.write(c1, i, wordData[i])
        c1 = c1 + 1

savePath = 'book_分離.xls'
book.save(savePath)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末氓辣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子袱蚓,更是在濱河造成了極大的恐慌钞啸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喇潘,死亡現(xiàn)場(chǎng)離奇詭異体斩,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)颖低,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)絮吵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人忱屑,你說(shuō)我怎么就攤上這事蹬敲∠景海” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵伴嗡,是天一觀的道長(zhǎng)急波。 經(jīng)常有香客問(wèn)我,道長(zhǎng)闹究,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任食店,我火速辦了婚禮渣淤,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘吉嫩。我一直安慰自己价认,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布自娩。 她就那樣靜靜地躺著用踩,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忙迁。 梳的紋絲不亂的頭發(fā)上脐彩,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音姊扔,去河邊找鬼惠奸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛恰梢,可吹牛的內(nèi)容都是我干的佛南。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼嵌言,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嗅回!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起摧茴,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绵载,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后苛白,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體尘分,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年丸氛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了培愁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缓窜,死狀恐怖定续,靈堂內(nèi)的尸體忽然破棺而出谍咆,到底是詐尸還是另有隱情,我是刑警寧澤私股,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布摹察,位于F島的核電站,受9級(jí)特大地震影響倡鲸,放射性物質(zhì)發(fā)生泄漏供嚎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一峭状、第九天 我趴在偏房一處隱蔽的房頂上張望克滴。 院中可真熱鬧,春花似錦优床、人聲如沸劝赔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)着帽。三九已至,卻和暖如春移层,著一層夾襖步出監(jiān)牢的瞬間仍翰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工观话, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歉备,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓匪燕,卻偏偏與公主長(zhǎng)得像蕾羊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子帽驯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容