相信大逛罹为垴家都会遇到有一大堆数据文件(XLS、TXT、CSV)需要合并成一个数据文件,而且还需要只保留唯一的表头,如果是EXCEL文件就好办了,我们可以用EXCEL文件拆分、合并、汇总神器等类似神器来处理。
但如果需要合并的数据文件为TXT、CSV文件,或者是数据都比较大,再或者是合并后的数据文件会超过EXCEL限制的最大行数(1048576),那么此时再用EXCEL文件拆分、合并、汇总神器就无法完成了。
这时我们仍可以采用DOS命令进行批量文本文件的合并,但如果只是简单的批量合并,会把每个文件的表头也一块合并,这样就不是我们要的。经过蚊子的不断搜索,终于找到一个将CSV文件合并成TXT文件有效的方法:
------------------------代码------------------------
@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文件,需要将表头事先存放在里头,并且表头后需要回车换行(你可以试试不换行的结果),如下图所示
STEP 3:接下来是见证奇迹的时刻,双击hb.bat运行合并程序,即可完成合并。Q:能否合并CSV-->CSV?A:不建议这样做,因为会把合并结果的CSV也合并进来,这样会有重复,所以这里采用的是CSV-->TXT。
Q:能否合并TXT-->TXT?
A:第一理由同上,第二可能会出现乱码(具体原因没研究),你可以试,亲,多动手。
Q:那我手中只有TXT或XLS文件怎么办?
A:可参考【数据处理技巧】利用DOS命令批量转换文件类型
Q:我的CSV文件名称没有规律可用么?
A:可以,另外如果想变的有规律,也可参考【数据处理技巧】利用DOS命令批量转换文件类型。
示例数据下载:http://pan.baidu.com/s/1hq0zCmo