| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3323 人关注过本帖
标题:如何先复制然后再删除CSV文件中部分项目重复的行?
只看楼主 加入收藏
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:333
专家分:114
注 册:2010-2-17
结帖率:70%
收藏
已结贴  问题点数: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
帖 子:4938
专家分:30047
注 册:2008-10-15
收藏
得分:7 
没时间写代码。也没时间看说明。

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

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


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

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


授人于鱼,不如授人于渔
早已停用QQ了
2017-11-25 13:40
xyxcc177
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望: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
快速回复:如何先复制然后再删除CSV文件中部分项目重复的行?
数据加载中...
 
   



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

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