Python は pandas をビッグ データ Excel 2 ファイルの比較と重複排除 300w ビッグ データ処理に使用します

Python は pandas を使用して 2 つのビッグ データ ファイルを比較し、重複を排除します。

背景紹介:

一般的な理解には、A と B という名前の 2 つの Excel ファイルがあります。

Aに含まれるデータをBから削除したい、データ量は300w程度

データ量が多いため、wpsもOffice内蔵の重複排除も正常に使えないのでスクリプトが必要

言うまでもありませんが、コードは次のとおりです。

import pandas as pd
from tqdm import tqdm


# 引号内填写需要去重的表格路径

targetExcel = r'./222.xlsx'

# 引号内填写依据表格的路径

basisExcel = r'./11.xlsx'

# 引号内填写输出字段

field = 'removeRepeatResult'


def removeRepeat():

    count = 0
    ind   = 1
    targetIndex = field + str(ind)
    resultExcel  = {
        field+'1': []
    }
    header = ['A','B','C','D','E','F','G','H','I','J','K']

    print('读取数据')
    target_Excel = pd.read_excel(targetExcel,header=None,names=header, dtype='object')
    basis_Excel  = pd.read_excel(basisExcel,header=None,names=['A'], dtype='object')
    print('读取成功')

    for index in tqdm(header):
        for i in tqdm(target_Excel[index], leave=False):
            if pd.isnull(i):
                continue
            elif i in list(basis_Excel['A']):
                continue
            else:
                resultExcel[targetIndex].append(i)
                count += 1
                if count >= 1020000:
                    count = 0
                    ind += 1
                    targetIndex = field + str(ind)
                    resultExcel[targetIndex] = []
    
    print('等待数据合并')
    df = pd.concat([pd.DataFrame(i) for i in resultExcel.values()], axis=1)  
    df.fillna(0) # 取消长短不一致问题 
    df.to_excel('resultExcel.xlsx', header=None, index=False) # 取消表头与行号
    #上一行中自定义文件名!


removeRepeat()
input('>>> 任意键退出...')

ランニング効果図:

 誰もが導き、コミュニケーションし、一緒に学び、一緒に進歩することを歓迎します!

おすすめ

転載: blog.csdn.net/xiaozhang0316/article/details/128807913