csv大文件分割以及添加表头

       为了减轻编辑的工作,某种情况下网站上可能用会到csv格式的文件进行数据导入,但一般网站除了有上传文件大小限制以外,还有就是php脚本语言读取文件到内存一些以及写入到mysql中会超过最大范围。因此只考虑到用分割文件来实现。(当然偷懒就没有用到其他工具导入的方式了)

1.转换csv文件的到对应的编码。这个很多工具都可以做到。

2.在linux下分割文件:(表示按5000行分文件)
# split -l 5000 ../user.csv -d -a 4 user_

3.在每个小文件第一行前插入csv字段(-e表示使用正则,1i表示第一行之前,后面的-i是)# sed -e "1i 用户号码,用户姓名,用户星级,客户经理姓名" -i  * 
(或者)
# sed -i "1i 用户号码,用户姓名,用户星级,客户经理姓名"  *

4.为分割后的文件批量增加扩展名

for i in *

do mv $i $i".csv"

done 

5.打包分割文件,由于我需要将这些csv文件拿回来到windows环境下。
# tar czvf csv.tar.gz csv

6.完成。


来源:http://www.cnblogs.com/ikodota/p/split_big_size_file_such_csv_format_on_linux.html

猜你喜欢

转载自blog.csdn.net/heqiyu34/article/details/51769210
今日推荐