精易论坛

标题: 我的编辑框1里有40万行记录,有什么办法直接用编辑框1的... [打印本页]

作者: HccCmHj    时间: 2025-3-21 08:38
标题: 我的编辑框1里有40万行记录,有什么办法直接用编辑框1的...
我的编辑框1里有40万行记录,有什么办法直接用编辑框1的功能,去比较里面出现重复的记录不?谢谢

作者: gzylove    时间: 2025-3-21 08:38
用哈希表不行吗,哈希表内部就能去重复吧,而且速度挺快的
作者: 没事瞎琢磨    时间: 2025-3-21 08:40
这组件能不卡死?
作者: HccCmHj    时间: 2025-3-21 08:44
没事瞎琢磨 发表于 2025-3-21 08:40
这组件能不卡死?

大神,我有40万文件路径记录,通过everything生成目录且导入到了编辑框1,速度喜人,但我不知道怎么能高效快速的找到这40万条记录的重复记录。能指点下吗?我sqlite入库这40万条也做了,不行,20万条记录入库就花了30分钟以上。
作者: wyc666    时间: 2025-3-21 09:04
qq2240973822
作者: by626    时间: 2025-3-21 09:26
加入数组去重复,论坛上例子很多
作者: 非常猥锁    时间: 2025-3-21 09:32
论坛搜索一堆例子
作者: 梨子爸爸    时间: 2025-3-21 10:14
分割数组去重
作者: CigaretteWine    时间: 2025-3-21 10:52
易语言没啥好办法,直接简单的去重复其实易语言对数组的支持很差,没字典这些概念,其他语言都有[key] =value  直接就去重了。

作者: 青春的思念    时间: 2025-3-21 15:53
HccCmHj 发表于 2025-3-21 08:44
大神,我有40万文件路径记录,通过everything生成目录且导入到了编辑框1,速度喜人,但我不知道怎么能高 ...

20万条记录入库30分钟是因为你没用事务,用事务很快的
作者: 算法艺术家    时间: 2025-3-21 16:16
这么大文本直接组件操作肯定卡死了  用哈希表 ,哈希表ASM模块是论坛里开源的
编辑框1.内容=大文本去重复 (编辑框1.内容, #换行符)
  
子程序名返回值类型公开备 注
大文本去重复文本型 快速文本对象
参数名类 型参考可空数组备 注
输入文本文本型
分隔符文本型默认为换行符
返回去除数量整数型
返回剩余数量整数型
去除空行逻辑型默认为假 不去除空行
变量名类 型静态数组备 注
局去除数量整数型 
局文本组文本型0
i整数型 
局输入快速文本对象 
局输出快速文本对象 
局剩余数量整数型 
局哈希哈希表_ASM 
如果真 (输入文本 = “”)
返回 (“”)
如果真 (分隔符 = “”)
分隔符 = #换行符
局哈希.创建 ( #文本型, #整数型, 20)  ' 2的20次方除以1024 ' 1MB容量
局输入.置文本 (输入文本)
局文本组 = 局输入.分割文本 (分隔符, )
计次循环首 (取数组成员数 (局文本组), i)
如果真 (去除空行 = )
如果真 (局文本组 [i]“”)
局去除数量 = 局去除数量 + 1
到循环尾 ()


如果 (局哈希.cha询 (局文本组 [i]))
局去除数量 = 局去除数量 + 1
局哈希.添加 (局文本组 [i], 0)
局输出.添加 (局文本组 [i], 分隔符)
局剩余数量 = 局剩余数量 + 1

计次循环尾 ()
局哈希.清空 ()
返回去除数量 = 局去除数量
返回剩余数量 = 局剩余数量
返回 (局输出.取文本 (, ))


i支持库列表   支持库注释   
commobj通用对象支持库



补充内容 (2025-3-21 16:17):
125.confly.eu.org/forum.php?mod=viewthread&tid=14516715&highlight
作者: 算法艺术家    时间: 2025-3-21 16:24
  
你也可以直接操作文本文件去重复,反回来的数组放编辑框里
子程序名返回值类型公开备 注
大文本文件去重复 
参数名类 型参考可空数组备 注
原文本路径文本型
返回结果组文本型
变量名类 型静态数组备 注
哈希表哈希表_ASM 
w整数型 
i整数型 
text文本型 
t整数型 
哈希表.创建 ( #文本型, #整数型, , , , , )
w = 打开文件 (原文本路径, , )
计次循环首 (10000000, i)
text = 读入一行 (w)
哈希表.添加 (text, 0, )
处理事件 ()
计次循环尾 ()
哈希表.取所有键 (返回结果组)
关闭文件 (w)



补充内容 (2025-3-21 16:45):
文本多少行 循环多少次就行
作者: aipca    时间: 2025-3-21 16:48
易 来处理这么大文本,想想也吓人
作者: HccCmHj    时间: 2025-3-22 07:31
青春的思念 发表于 2025-3-21 15:53
20万条记录入库30分钟是因为你没用事务,用事务很快的

现在问题是,sqlite不支持多线程插入,我把数组分成4份,4个线程插入4个表,同时进行就说库锁了。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4