这里更多是一种记录了。
最近遇到两个小问题,批量把GB转成UTF-8,因为R里面就算用en.US-UTF8也是不能直接读GB编码的中文文本文件的。所以需要一个转换。由于手头几百个文件,不可能一一打开notepad++之类的文本编辑器然后另存为,于是就开始搜。果然,神奇的软件哪里都有,一搜救有华军软件园的一个小软件:http://www.onlinedown.net/soft/46844.htm。打开之后很方便~只可惜是windows下的,我还得切出ubuntu来回到windows。
同样的还有一件事儿要依赖windows,那就是在读入R之前,我需要批量合并多个文本文件。这个时候就要靠命令行了。键入CMD
之后,一路cd
进入需要操作的文件夹。然后一个神奇的命令:
copy *.txt target.txt
就可以看到命令行华丽丽的搞定了!真速度啊,赞一个。
就在此记录一下,整理数据会有各种各样稀奇古怪的需求,能在R之外做的也有很多(本来我是在ubuntu下ls
所有文件名,然后想用for
循环在R里面依次读入并rbind
的)。当然相比于命令行的原生操作,还是速度慢一些。所以,各种武器齐上马,就看哪个利索了。不同于以往在学校里接触好的数据,格式都弄好了,业界的数据格式千奇百怪。所以涉及到数据格式的修改,感觉真的离不开R里面的merge、reshape等基础命令。话说还发现一个R包,data.table
,可以用来做分组求和等很多基于table的工作,大赞一个!
4 replies on “批量多个文件GB转UTF-8编码、批量合并多个文件”
为何不先将文本合并然后用notepad++转换编码?
主要是NOTEPAD ++ 读一个超级大的文件会很慢很慢,所以迂回了一下。电脑配置高的话自然不是问题了。
批量转编码:enca -x utf-8 *
合并文件:cat * > ../new_file
Unix 工具集中操作数据的工具也一把一把的。
原来这样......windows弱爆了。