最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

citespace數(shù)據(jù)處理:用python對(duì)Ref文檔進(jìn)行去重方式

 更新時(shí)間:2022年11月18日 10:22:03   作者:Mr.Bean-Pig  
這篇文章主要介紹了citespace數(shù)據(jù)處理:用python對(duì)Ref文檔進(jìn)行去重方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python對(duì)Ref文檔進(jìn)行去重

首先將txt文檔提取到Excel表格中篩選出重復(fù)項(xiàng),并且整理到txt中:

需要去重的目標(biāo)txt也準(zhǔn)備好:

接下來(lái)運(yùn)行代碼,注意代碼中的路徑需要自己按實(shí)際情況修改:

#coding:utf-8
#__author__ ='pig'

# 實(shí)現(xiàn)去重功能

import re
# 需要去重的標(biāo)題列表
title_need_delete = []

f0 = open('D:\Desktop\數(shù)據(jù)\\need_delete.txt',encoding='utf-8')
for line in f0.readlines():
    title_need_delete.append(line)
#print(title_need_delete)
# 一鍵多值字典0
dict={}

# 標(biāo)題列表
title_list = []

f1=open('D:\Desktop\數(shù)據(jù)\\sum.txt',encoding='utf-8')
data=f1.readlines()
# print data1
f1.close()
num = 0
# 第一次遍歷:構(gòu)建字典,能看出每篇文章出現(xiàn)的次數(shù)
for index,line in enumerate(data):
    if line[0:2] == 'T1':
        num+=1
        title = line[3:]
        if title not in title_list:
            # 向字典中添加新key
            dict.setdefault(title,[]).append(1)
            title_list.append(title)

        else:
            # 修改該文章出現(xiàn)的次數(shù)
            dict[title][0] += 1

#print(dict)
print("原數(shù)據(jù)量:"+str(num))

f2 = open('after_delete.txt', 'w', encoding='utf-8')

delete_num = 0
after_num = 0
# 第二次遍歷:將文本寫入新文件(每篇文章數(shù)據(jù)整段寫入),對(duì)于每篇文章,若出現(xiàn)在黑名單中,則需要跳過(guò),直到最后一次出現(xiàn)才寫入
for index,line in enumerate(data):
    # 每篇文章先判定
    if line[0:2] == 'RT':
        # 定位至標(biāo)題行
        index_1 = index
        while(data[index_1][0:2] != 'T1'):
            index_1 += 1
        # 提取標(biāo)題
        title = data[index_1][3:]
        # 如果在黑名單里且不是最后一次出現(xiàn),則跳過(guò)此文章,并將字典中次數(shù)-1
        if title in title_need_delete and dict[title][0] > 1:
            # print('跳過(guò):'+ title)
            dict[title][0] -= 1
            delete_num += 1
            # 跳過(guò)
            continue
        else :
            # 不在黑名單中則正常寫
            f2.writelines(data[index])
            after_num += 1
            index += 1
            while(data[index][0:2] != 'RT'):
                f2.writelines(data[index])
                index += 1
                if index == len(data):
                    break
print("去重完成!")
print("刪除重復(fù)數(shù)據(jù):" + str(delete_num))
print("剩余數(shù)據(jù):" + str(after_num))
f2.close()

運(yùn)行結(jié)果:

Python文件自動(dòng)去重

平日里一來(lái)無(wú)聊,二來(lái)手巧,果然下載了好多資料,搞得我小小的硬盤(已經(jīng)擴(kuò)到6T了)捉襟見肘,

有次無(wú)意間,發(fā)現(xiàn)有兩個(gè)居然長(zhǎng)得一毛一樣,在房子這么小的情況下,我怎能忍兩個(gè)一毛一樣的東西躺在我的硬盤里,果斷搞掉一個(gè),整理一下,本來(lái)想文件名一樣的就保留一份,但問(wèn)題出現(xiàn)了,居然有名字一樣,內(nèi)容卻完全不一樣的文件,想我背朝黃土面朝天吹著空調(diào)吃著西瓜下載下來(lái)的東西,刪除是不可能的,這輩子都是不可能刪除的??墒俏乙灿植荒馨堰@數(shù)以億計(jì)的文件挨個(gè)打開看看里面一樣不一樣吧,這個(gè)工程我大概夠我做了好久好久了,有沒(méi)有辦法搞個(gè)軟件幫幫我呢,答案是肯定的,要不然我也不用在這里寫這個(gè)博客了(應(yīng)該是苦逼的一個(gè)一個(gè)打開比較吧),說(shuō)正題,Python提供了一個(gè)比較文件內(nèi)容的東西,那就是哈希算法

MD5消息摘要算法(英語(yǔ):MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。MD5由美國(guó)密碼學(xué)家羅納德·李維斯特(Ronald Linn Rivest)設(shè)計(jì),于1992年公開,用以取代MD4算法。

說(shuō)了這么長(zhǎng),總結(jié)出來(lái)就一句,這玩意就是文件的指紋,幾乎每個(gè)文件是唯一的(碰到重復(fù)的,恭喜你,可以去買彩票了),那我們就把這個(gè)指紋拿出來(lái),一個(gè)一個(gè)比對(duì),肯定不能會(huì)有漏網(wǎng)的文件,既不會(huì)錯(cuò)殺三千,也不使一文件漏網(wǎng),原理上通了,那么我們就要去搞個(gè)代碼來(lái)幫我完成這個(gè)工作,作為最好用的語(yǔ)言,Python就這樣被我翻了牌子

代碼如下

# -*- coding:utf-8 -*-
 
import os
import hashlib
import time
import sys
#搞到文件的MD5
def get_ms5(filename):
    m = hashlib.md5()
    mfile = open(filename , "rb")
    m.update(mfile.read())
    mfile.close()
    md5_value = m.hexdigest()
    return md5_value
#搞到文件的列表
def get_urllist():
    base = ("D:\\lwj\\spider\\pic\\")#這里就是你要清繳的文件們了
    list = os.listdir(base)
    urllist = []
    for i in list:
        url = base + i
        urllist.append(url)
 
    return urllist
#主函數(shù)
if __name__ == '__main__':
    md5list = []
    urllist = get_urllist()
    print("test1")
    for a in urllist:
        md5 = get_ms5(a)
        if(md5 in md5list):
            os.remove(a)
            print("重復(fù):%s" % a)
        else:
            md5list.append(md5)
            print("一共%s張照片" % len(md5list))

效果

這戰(zhàn)斗力杠杠的,啥叫科技改變生活,此之謂也

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Pytorch實(shí)現(xiàn)獲取特征圖的方法詳解

    利用Pytorch實(shí)現(xiàn)獲取特征圖的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Pytorch實(shí)現(xiàn)獲取特征圖,包括提取單個(gè)特征圖和提取多個(gè)特征圖,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-10-10
  • python中argparse模塊基礎(chǔ)及使用步驟

    python中argparse模塊基礎(chǔ)及使用步驟

    argsparse是python的命令行解析的標(biāo)準(zhǔn)模塊,內(nèi)置于python,不需要安裝。這個(gè)庫(kù)可以讓我們直接在命令行中就可以向程序中傳入?yún)?shù)并讓程序運(yùn)行,接下來(lái)通過(guò)本文給大家介紹python argparse模塊的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2022-06-06
  • Python執(zhí)行dos和Linux命令的方法詳解

    Python執(zhí)行dos和Linux命令的方法詳解

    在實(shí)際開發(fā)中,有時(shí)為了方便,可能需要執(zhí)行dos命令或者Linux命令。比如說(shuō)執(zhí)行某些shell腳本,上傳下載一些文件等。本文總結(jié)了一些Python執(zhí)行dos和Linux命令的方法,需要的可以了解一下
    2022-10-10
  • 開源Web應(yīng)用框架Django圖文教程

    開源Web應(yīng)用框架Django圖文教程

    Python下有許多款不同的 Web 框架。Django是重量級(jí)選手中最有代表性的一位。許多成功的網(wǎng)站和APP都基于Django。Django是一個(gè)開放源代碼的Web應(yīng)用框架,由Python寫成。下面我們來(lái)一步步學(xué)習(xí)下吧
    2017-03-03
  • Python使用虛擬環(huán)境(安裝下載更新卸載)命令

    Python使用虛擬環(huán)境(安裝下載更新卸載)命令

    這篇文章主要為大家介紹了Python使用虛擬環(huán)境(安裝下載更新卸載)命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • python 批量解壓壓縮文件的實(shí)例代碼

    python 批量解壓壓縮文件的實(shí)例代碼

    這篇文章主要介紹了python 批量解壓壓縮文件的實(shí)例代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • 基于Python+Matplotlib實(shí)現(xiàn)直方圖的繪制

    基于Python+Matplotlib實(shí)現(xiàn)直方圖的繪制

    Matplotlib是Python的繪圖庫(kù),它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式。本文將為大家介紹如何用matplotlib繪制直方圖,感興趣的朋友可以學(xué)習(xí)一下
    2022-04-04
  • 解決在pycharm運(yùn)行代碼,調(diào)用CMD窗口的命令運(yùn)行顯示亂碼問(wèn)題

    解決在pycharm運(yùn)行代碼,調(diào)用CMD窗口的命令運(yùn)行顯示亂碼問(wèn)題

    今天小編就為大家分享一篇解決在pycharm運(yùn)行代碼,調(diào)用CMD窗口的命令運(yùn)行顯示亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法

    Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法

    這篇文章主要介紹了Python操作MongoDB數(shù)據(jù)庫(kù)PyMongo庫(kù)使用方法,本文講解了創(chuàng)建連接、連接數(shù)據(jù)庫(kù)、連接聚集、查看全部聚集名稱、查看聚集的一條記錄等操作方法,需要的朋友可以參考下
    2015-04-04
  • python  fire庫(kù)的使用實(shí)例教程

    python  fire庫(kù)的使用實(shí)例教程

    fire是python中用于生成命令行界面(Command Line Interfaces, CLIs)的工具,不需要做任何額外的工作,只需要從主模塊中調(diào)用fire.Fire(),它會(huì)自動(dòng)將你的代碼轉(zhuǎn)化為CLI,F(xiàn)ire()的參數(shù)可以說(shuō)任何的python對(duì)象,對(duì)python fire庫(kù)使用感興趣的朋友一起看看吧
    2022-12-12

最新評(píng)論

三江| 淮安市| 平利县| 宜都市| 彝良县| 德庆县| 舒城县| 郁南县| 灵丘县| 大英县| 定西市| 赤城县| 岳西县| 安图县| 元谋县| 垣曲县| 赣州市| 华亭县| 奈曼旗| 天台县| 织金县| 凭祥市| 洱源县| 平原县| 紫金县| 普格县| 额敏县| 特克斯县| 东山县| 渝中区| 通江县| 察隅县| 曲周县| 鸡泽县| 平远县| 朔州市| 冕宁县| 大庆市| 永嘉县| 安国市| 庆城县|