加载中…
个人资料
小蚊子数据分析
小蚊子数据分析 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:5,258,074
  • 关注人气:10,880
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

【数据处理技巧】利用DOS命令批量合并文本文件

(2014-05-25 11:49:28)
标签:

数据处理

文件

批量

合并

文本

分类: 数据分析

【数据处理技巧】利用DOS命令批量合并文本文件

        相信大家都会遇到有一大堆数据文件(XLS、TXT、CSV)需要合并成一个数据文件,而且还需要只保留唯一的表头,如果是EXCEL文件就好办了,我们可以用 EXCEL文件拆分、合并、汇总神器  等类似神器来处理。

       但如果需要合并的数据文件为TXT、CSV文件,或者是数据都比较大,再或者是合并后的数据文件会超过EXCEL限制的最大行数(1048576),那么此时再用 EXCEL文件拆分、合并、汇总神器  就无法完成了。

        这时我们仍可以采用DOS命令进行批量文本文件的合并,但如果只是简单的批量合并,会把每个文件的表头也一块合并,这样就不是我们要的。经过蚊子的不断搜索,终于找到一个将CSV文件合并成TXT文件有效的方法:
【数据处理技巧】利用DOS命令批量合并文本文件

------------------------代码------------------------
@echo off
echo 正在合并中,请耐心等待...
for /f "delims=" %%t in ('dir *.csv /b') do (type "%%t"|more +1>>hz.txt)
echo 合并完成!&pause
----------------------代码结束----------------------

代码作用就是删除每个文件第一行(表头),然后将剩下的数据追加到 hz.txt 中

 

 


STEP 1:将以上代码复制一个新建的文本文件中,修改要合并的TXT文件名称,保存为 hb.bat  ,需要放置需要合并CSV文件同个文件夹下
 
 
STEP 2:准备合并TXT文件,需要将表头事先存放在里头,并且表头后需要回车换行(你可以试试不换行的结果),如下图所示

【数据处理技巧】利用DOS命令批量合并文本文件

STEP 3:接下来是见证奇迹的时刻,双击 hb.bat 运行合并程序,即可完成合并。
【数据处理技巧】利用DOS命令批量合并文本文件

Q:能否合并CSV-->CSV  ?
A:不建议这样做,因为会把合并结果的CSV也合并进来,这样会有重复,所以这里采用的是CSV-->TXT。
 
Q:能否合并TXT-->TXT?
A:第一理由同上,第二可能会出现乱码(具体原因没研究),你可以试,亲,多动手。
 
Q:那我手中只有TXT或XLS文件怎么办?
 
Q:我的CSV文件名称没有规律可用么?
A:可以,另外如果想变的有规律,也可参考 【数据处理技巧】利用DOS命令批量转换文件类型
 
 
示例数据下载:http://pan.baidu.com/s/1hq0zCmo




另也可以用CSV合并工具进行数据合并,经过多个工具的尝试,找到了一个可以使用的CSV合并工具,即会保留唯一表头,前提是要表头完全一致,才会保留,如果表头多了一列或有出入,会存在问题的,遇到这样的情况就采用DOS命令批量合并文本文件。
下载地址:http://pan.baidu.com/s/1o6jY69s



 
 

更多精彩可订阅微信号

名称:小蚊子数据分析
微信号:wzdata

【EXCEL查找函数系列】MATCH动态图解

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有