欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python做文本按行去重的實現(xiàn)方法

 更新時間:2016年10月19日 10:33:37   作者:aaa1111sss  
每行在promotion后面包含一些數(shù)字,如果這些數(shù)字是相同的,則認為是相同的行,對于相同的行,只保留一行。接下來通過本文給大家介紹Python做文本按行去重的實現(xiàn)方法,感興趣的朋友一起看看吧

文本:

每行在promotion后面包含一些數(shù)字,如果這些數(shù)字是相同的,則認為是相同的行,對于相同的行,只保留一行。

思路:

根據(jù)字典和字符串切割。

建立一個空字典。

讀入文本,并對每行切割前半部分,在讀入文本的過程中循環(huán)在這個字典中查找,如果沒找到,則寫入該行到字典。否則,則表示該行已經(jīng)被寫入過字典了(即出現(xiàn)重復的行了),不再寫入字典,這就實現(xiàn)了對于重復的行只保留一行的目的。

文本如下:

/promotion/232 utm_source
/promotion/237 LandingPage/borrowExtend/? ;
/promotion/25113 LandingPage/mhd
/promotion/25113 LandingPage/mhd
/promotion/25199 com/LandingPage
/promotion/254 LandingPage/mhd/mhd4/? ;
/promotion/259 LandingPage/ydy/? ;
/promotion/25113 LandingPage/mhd
/promotion/25199 com/LandingPage
/promotion/25199 com/LandingPage

程序如下:

line_dict_uniq = dict()
with open('1.txt','r') as fd:
for line in fd:
key = line.split(' ')[0]
if key not in line_dict_uniq.values():
line_dict_uniq[key] = line
else:
continue
print line_dict_uniq 
print len(line_dict_uniq)
# 這里是打印了不重復的行(重復的只打印一次),實際再把這個結(jié)果寫入文件就可以了,
# 就不寫這段寫入文件的代碼了

上面這個程序執(zhí)行效率比較低,改成如下會提高一些:

line_dict_uniq = dict()
with open('1.txt','r') as fd:
for line in fd:
key = line.split(' ')[0]
if key not in line_dict_uniq.keys():
line_dict_uniq[key] = line
else:
continue
print line_dict_uniq
print len(line_dict_uniq)

繼續(xù)補充一個函數(shù)

# -*- coding: utf-8 -*-
'''
只使用與較小的文件,比較大的文件運行時間長
'''
def quchong(infile,outfile):

  infopen = open(infile,'r',encoding='utf-8')
  outopen = open(outfile,'w',encoding='utf-8')
  lines = infopen.readlines()
  list_1 = []
  for line in lines:
    if line not in list_1:
      list_1.append(line)
      outopen.write(line)
  infopen.close()
  outopen.close()
quchong("源文件路徑","目標文件路徑")

以上所述是小編給大家介紹的Python做文本按行去重,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • Python操作PDF實現(xiàn)制作數(shù)據(jù)報告

    Python操作PDF實現(xiàn)制作數(shù)據(jù)報告

    Python操作PDF的庫有很多,比如PyPDF2、pdfplumber、PyMuPDF等等。本文將利用FPDF模塊操作PDF實現(xiàn)制作數(shù)據(jù)報告,感興趣的小伙伴可以嘗試一下
    2022-12-12
  • Python、Javascript中的閉包比較

    Python、Javascript中的閉包比較

    這篇文章主要介紹了Python、Javascript中的閉包比較,本文分別講解了Python和Javascript中的閉包,分對它們的不同做了一個簡單的比較,需要的朋友可以參考下
    2015-02-02
  • Python Pandas中合并數(shù)據(jù)的5個函數(shù)使用詳解

    Python Pandas中合并數(shù)據(jù)的5個函數(shù)使用詳解

    數(shù)據(jù)合并是數(shù)據(jù)處理過程中的必經(jīng)環(huán)節(jié),pandas作為數(shù)據(jù)分析的利器,提供了五種常用的數(shù)據(jù)合并方式,讓我們看看如何使用這些方法吧!
    2022-05-05
  • Django+uni-app實現(xiàn)數(shù)據(jù)通信中的請求跨域的示例代碼

    Django+uni-app實現(xiàn)數(shù)據(jù)通信中的請求跨域的示例代碼

    這篇文章主要介紹了Django+uni-app實現(xiàn)數(shù)據(jù)通信中的請求跨域的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • python自動化測試之連接幾組測試包實例

    python自動化測試之連接幾組測試包實例

    這篇文章主要介紹了python自動化測試之連接幾組測試包實例,需要的朋友可以參考下
    2014-09-09
  • 提升Python程序運行效率的6個方法

    提升Python程序運行效率的6個方法

    這篇文章主要介紹了提升Python程序運行效率的6個方法,包括依賴外部擴展、代碼優(yōu)化等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Python全景系列之模塊與包全面解讀

    Python全景系列之模塊與包全面解讀

    這篇文章將帶大家深入探討Python模塊與包的基本概念,使用方法以及其在實際項目中的應用,同時也會揭示一些鮮為人知,卻又實用的技術細節(jié)
    2023-05-05
  • python組合無重復三位數(shù)的實例

    python組合無重復三位數(shù)的實例

    今天小編就為大家分享一篇python組合無重復三位數(shù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python的in,is和id函數(shù)代碼實例

    Python的in,is和id函數(shù)代碼實例

    這篇文章主要介紹了python的in,is和id函數(shù)代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • pycharm永久激活超詳細教程

    pycharm永久激活超詳細教程

    這篇文章主要介紹了pycharm永久激活超詳細教程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論