zoukankan      html  css  js  c++  java
  • 文件去重

    文件去重

    excel 文件:

    # 导入pandas包并重命名为pd
    import pandas as pd
    
    # 读取Excel中Sheet1中的数据
    data = pd.DataFrame(pd.read_excel('test.xlsx', 'Sheet1'))
    
    # 查看读取数据内容
    print(data)
    
    # 查看是否有重复行
    re_row = data.duplicated()
    print(re_row)
    
    # 查看去除重复行的数据
    no_re_row = data.drop_duplicates()
    print(no_re_row)
    
    # 查看基于[物品]列去除重复行的数据
    wp = data.drop_duplicates(['物品'])
    print(wp)
    
    # 将去除重复行的数据输出到excel表中
    no_re_row.to_excel("过滤重复行.xlsx")
    
    
    

    txt 去重:

    import  pandas as pd
    
    # 读取txt
    train_data = pd.read_csv('/home/geoffrey/桌面/train.txt.backup', 
                            sep=' ',
                            encoding='utf-8',
                            # index_col=0, 
                            header=None)
    
    # 删除特定行(包含‘打伞’的行)
    train_data[train_data[0].apply(lambda x: '打伞' not in x)]
    
    # 去重
    train_data.drop_duplicates(inplace=True)
    
    train_data.set_index(0, inplace=True)
    # 写入txt
    train_data.to_csv('/home/geoffrey/桌面/test1.txt', 
                      sep=' ',
                      encoding='utf-8', 
                      header=None)
    

    excel 文件合并:

    import os
    import pandas as pd
    df = pd.DataFrame(columns=['流水号','事件名称','本方户名','对方户名','流水时间','操作员','交易额','流水标志','扇区号'])
    l = []
    num = []
    def search(path):
        parents = os.listdir(path)
        sum = 0
        for parent in parents:                              # 返回指定路径下所有文件和文件夹的名字,并存放于一个列表中
            child = os.path.join(path,parent)
            if os.path.isdir(child):                       # 将多个路径组合后返回
                search(child)
            elif os.path.isfile(child):                    # 如果是目录,则继续遍历子目录的文件
                if os.path.splitext(child)[1] == '.xls':   # 分割文件名和文件扩展名,并且扩展名为'xls'
                    d = pd.read_excel(child)
                    for i in range(len(d)):
                        num.append(os.path.split(child)[1][0:9])
                    l.append(d)
    #search(r'C:\Usersaming\Desktop\大学生行为分析\后勤数据\学生数据_LHJ_YJ')
    search(r'C:\Usersaming\Desktop\大学生行为分析\后勤数据\学生数据_LHJ_YJ12501112012-8-1_2014-7-15')
    
    df = pd.concat(l)
    da = pd.Series(num)
    df['学号'] = da
    df = df.drop(columns=['流水号','扇区号','流水号','操作员','流水标志'],axis=1) #删除整列全为NAN的列
    df.to_excel('rone.xlsx',index=False) # 保存为result文件
    
    
    
  • 相关阅读:
    使用Stream流递归 组合树形结构
    MySQL 8 通用表表达式
    sa-token 权限认证
    先更新缓存还是先更新数据库?
    钉钉 回调事件 消息加解密
    commons-io
    stream和parallelstream的区别
    消除if...else
    springboot 扩展xml请求和响应
    springboot admin 邮箱
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12889956.html
Copyright © 2011-2022 走看看