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()
本文来自博客园,作者:她说没有光,转载请注明原文链接:https://www.cnblogs.com/code3/p/17324584.html
EXCEL如何自动动态统计记录条数。
如:原来有100条记录,增加5条或删除12条,如何自动得到105或88记录数呢。
如在sheet1表中有100条记录,经过增加或删除操作后,在sheet2表中的某个单位格得到sheet1中动态实时自动统计的记录数,如何给函数和整个命令语句。
可以通过EXCEL的插入函数中的COUNT来实现自动统计,具体的实现方法如下图所示:
1、打开需要处理的EXCEL文件可以看到当前的数据记录。
2、在需要统计记录的单元格中点击EXCEL上方的公示公示按钮。
3、在出现的选项中点击插入函数按钮,选择COUNT后点击确定按钮。
4、在出现的函数参数对话框中点击第一个小箭头后,框选需要统计的区域以后点击确定按钮。
5、即可看到利用函数公式已经统计出了该区域内的记录条数了。
6、如任意选择删除几条记录以后,该统计的记录条数就自动发生了变化。
在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自动记录重复数的主要内容,如果未能解决你的问题,请参考以下文章