标题:如何先复制然后再删除CSV文件中部分项目重复的行?
只看楼主
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
结帖率:69.81%
已结贴  问题点数:20 回复次数:4 
如何先复制然后再删除CSV文件中部分项目重复的行?
一个CSV文件,大概5万多行,我截取的其中的三大段数据,分段根据是Pos X和Pos Y 两项从0和0到下一个0和0前一行,或者是Board info项一致的是一段。其中每段的结尾都有一行或数行与前面的Pos X和Pos Y 两项数据重复的(注:也有可能没有,例如第二段),例如编号项(Number项)95的那一行,Pos X和Pos Y 两项数据是1和3,这一行就与编号项(Number项)8的那一行Pos X和Pos Y 两项数据重复;再举例例如编号项(Number项)286和287的那两行,Pos X和Pos Y 两项数据分别是7、0和12、3,这两行就与编号项(Number项)226和254的那两行Pos X和Pos Y 两项数据重复。
现在想把重复的行进行替换,方法是重复行后面的整行数据把前面的整行数据进行覆盖替换,然后将后面的进行删除。例如前面第一个例子,先用编号项(Number项)95的那一行整行把编号项(Number项)8的那一行整行覆盖,然后将编号项(Number项)95的那一行整行删除,这样在一段数据中Pos X和Pos Y 两项就没有重复的了。第二段没有重复行就跳过,第三段用编号项(Number项)286和287的那两行覆盖编号项(Number项)226和254,然后删除286和287的那两行。

可能不能够用删除指定行的方式删除,因为前面的行删除后,后面的行顶上,行号就变了。CSV文件中不能有空行。

csv_record-1.rar (8.65 KB)
搜索更多相关主题的帖子: 删除 重复 一行 编号 Number 
2017-11-23 08:26
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:7 
没时间写代码。也没时间看说明。

-------------------
想的算法就是 使用数据库连接的方式打开 CSV 文件(文本文件) ,然后使用 数据命令去 删重复项。
这种相当于直接操作数据库,代码简单。
但百度也没找到相关的内容,说明这个内容很偏,你慢慢找找吧。

------------------
另一种常规算法
要么自己写代码分析,把这个文件一行一行的分析到 二维数组中。然后进行操作。
修改的直接修改内容,删除的清除内容
保存时,判断内容,同时计数修改行号,进行保存。


授人于鱼,不如授人于渔
早已停用QQ了
2017-11-25 13:33
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
要么,就直接考虑使用一个临时数据库,
把TXT导数据库,然后查询重复项。对查出来的重复项,用后面的内容更新前面的内容
再删后面的重复内容
最后重排所有的行号,导出文本文件。

MSSQL 提供了导入,导出TXT文件的命令。不知道MDB支不支付。你可以参考一下。
MYSQL 也同样提供了,导入导出速度超级快。


授人于鱼,不如授人于渔
早已停用QQ了
2017-11-25 13:40
xyxcc177
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:26
帖 子:197
专家分:1249
注 册:2017-7-8
得分:7 
用excel就可以打开文件,编段VBA代码把重复行删除就可以了
2017-11-25 14:02
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:7 
1、读入execl到内存
2、利用双循环比较
3、我简单写了下,界面的什么都没做优化,供参考。

bj.rar (81.67 KB)

其中:New.xls是根据你的数据自动生成的。
其中的行号我没有更改,采用原始数据的,如果更改,只需在保存赋值时替换就可以。


[此贴子已经被作者于2017-11-25 14:10编辑过]

2017-11-25 14:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-482736-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.208033 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved