注:这里说的大文件也不是太大,只有60多M而已(70多万条数据),相对比较大而已。
为了减轻编辑的工作,某种情况下网站上可能用会到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.完成。