python对文件内容的去重

2022-10-05 13:56:11

python对文件内容的去重



前言

很多时候我们获取的数据存在大量重复,重复数据在进一步处理时会降低处理效率,且可能导致错误,因此内容去重是数据处理一个重要步骤。


实现步骤

通过list的set()和sort()函数对于数据进行顺序去重,读取文件夹中的所有文件,生成文件列表,读取文件内容列表,进行去重和按原索引顺序排序。

首先我们需要将所有需要去重的文件列举出来,通过os库的walk()函数可以获取路径下的所有文件和路径名

import osdefall_txt(dir1):
    result=[]for maindir, subdir, file_name_listin os.walk(dir1):#print("1:",maindir)#print("2:",subdir)#print("3:",file_name_list)for filenamein file_name_list:
            apath= os.path.join(maindir, filename)
            result.append(apath)return result

对于文件中的重复项进行去除的方法,我采用的是先把文件内容输出成列表,在通过set()和sort()函数处理从而得到有序的去重列表

defclr(dir1):
    list1=[]withopen(dir1,'r')as f:whileTrue:
            url=f.readline()if url:
                list1.append(url)else:break
    list2=list(set(list1))
    list2.sort(key=list1.index)
    list1=list2
    n=len(list1)withopen(dir1,'w')as f:while n:#print(list1[0])
            f.write(list1[0])
            n=n-1del list1[0]

最后选择需要去重的文件路径就可以了,这样就将特定路径下的所有文件都进行了内容的去重处理

list3=[]            
list3=all_txt(".\data")for liin list3:
    clr(li)

总结

本次实现了数据文件内容的去重功能,数据去重是数据预处理和数据库管理的重要内容,在后续的研究中会经常用到该功能。

  • 作者:bjwhile
  • 原文链接:https://blog.csdn.net/bjwhile/article/details/115456364
    更新时间:2022-10-05 13:56:11