excel自动记录重复数

Posted 飞翔的企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel自动记录重复数相关的知识,希望对你有一定的参考价值。

import openpyxl


import pandas as pd





def one_lie():
    # 打开 Excel 文件
    # workbook = openpyxl.load_workbook(\'test.xlsx\')
    workbook = openpyxl.load_workbook(\'testmain.xlsx\')

    # 获取第一个工作表
    worksheet = workbook.worksheets[0]

    # 获取第一列的所有单元格对象
    column_cells = worksheet[\'A:A\']

    # 提取单元格的值
    column_values = [cell.value for cell in column_cells][1:]

    # 输出第一列的所有值
    # print(column_values)
    # print(len(column_values))
    # print(type(column_values))
    return column_values

def two_lie():
    two_list = []
    # 打开 Excel 文件
    # workbook = openpyxl.load_workbook(\'test.xlsx\')
    workbook = openpyxl.load_workbook(\'testmain.xlsx\')

    # 获取第一个工作表
    worksheet = workbook.worksheets[0]

    # 获取第二列的所有单元格对象
    column_cells = worksheet[\'B:B\']

    # 提取单元格的值
    column_values = [cell.value for cell in column_cells][1:]

    # 输出第二列的所有值
    # print(column_values)
    # print(len(column_values))
    for i in column_values:
        # print(i)
        new_i = i.strip(\'[\').strip(\']\').replace(\'\\\'\', \'\')
        new_ii = new_i.split(\',\')
        # print(new_ii)
        two_list.append(new_ii)
        # exit()

    return two_list



def main():
    oneLs = one_lie()
    twoLs = two_lie()
    # print(len(oneLs), oneLs)
    # print(len(twoLs), twoLs)
    cc = twoLs
    couls = []
    for indexi, val0 in enumerate(oneLs):
        twoLs1 = cc  # 最好使用yeild(减少开辟内存)
        if val0 is None:
            continue
        cou = 0
        # print(val0)
        inon = twoLs1.pop(indexi)

        for val1 in twoLs1:
            # del twoLs[indexi]
            # twoLs.remove(twoLs[indexi - 1])
            inter = [i for i in inon if i in val1]   # 判断数组中的任意数是否在另外一个数组内
            if (val0 in val1) and len(inter) == 0:
                cou += 1

        # with open(\'a.txt\', \'a\', encoding=\'utf-8\') as f:
        #     # print(f\'val0 出现 cou次\')
        #     f.write(f\'val0 出现 cou次\\n\')
        print(f\'val0 出现 cou次\\n\')
        couls.append(cou)
        # exit()
    print(len(couls))
    # return couls  # 重复列表








if __name__ == \'__main__\':
    main()
    # cck = main()
    # # 创建数据
    # data = \'重复数\': [1, 2, 3, 4, 5]  # 这里返回的重复数列表
    # data = \'重复数\': cck  # 这里返回的重复数列表
    #
    # # 创建DataFrame对象
    # df = pd.DataFrame(data)
    #
    # # 创建Excel文件写入器
    # writer = pd.ExcelWriter(\'output.xlsx\')
    #
    # # 将数据写入指定的列
    # df.to_excel(writer, sheet_name=\'Sheet1\', startcol=3, index=False)
    #
    # # 保存文件
    # writer.save()

EXCEL如何自动动态统计记录条数。

如:原来有100条记录,增加5条或删除12条,如何自动得到105或88记录数呢。
如在sheet1表中有100条记录,经过增加或删除操作后,在sheet2表中的某个单位格得到sheet1中动态实时自动统计的记录数,如何给函数和整个命令语句。

可以通过EXCEL的插入函数中的COUNT来实现自动统计,具体的实现方法如下图所示:

1、打开需要处理的EXCEL文件可以看到当前的数据记录。

2、在需要统计记录的单元格中点击EXCEL上方的公示公示按钮。

3、在出现的选项中点击插入函数按钮,选择COUNT后点击确定按钮。

4、在出现的函数参数对话框中点击第一个小箭头后,框选需要统计的区域以后点击确定按钮。

5、即可看到利用函数公式已经统计出了该区域内的记录条数了。

6、如任意选择删除几条记录以后,该统计的记录条数就自动发生了变化。

参考技术A

在excel里,如果表格是列表的格式,就是只有列标题,就是一维表格,那么一行就是一条记录,那么怎样自动统计记录的条数呢?用count函数,或者counta函数可以做到。count函数是统计数值的个数,counta函数是统计文本的个数,用哪个函数要看你的数据格式。

如图是一个管理费用统计表,单元格J1的公式为:=COUNTA(A:A)-1,公式解析:统计A列的文本数值的个数,为什么要减1呢?因为表头占了一行。这样在下面数据增加的时候,J1函数公式的返回值将增加。

参考技术B 假如数据在表sheet1的A2:A500
公式=COUNTA(sheet1!A2:A500)
公式的意思是查找表sheet1中A2:A500不为空的单元格数量本回答被提问者和网友采纳
参考技术C 能再表达清楚些吗? 参考技术D countif

以上是关于excel自动记录重复数的主要内容,如果未能解决你的问题,请参考以下文章

Excel中哪个函数可以统一去重复值后的唯一值的个数呢?

excel表格中删除重复数据有啥方法

excel统计重复个数

使用 excel vba 计算每行中的重复值和报告重复数

Python pandas 获取Excel重复记录

excel怎么样自动选择重复项中的唯一值