Navicat导入导出csv文件
今日需要对一个CSV文件中的某几列,进行汇总统计(如按照省,市分组统计),文件行数在270万左右,想到在数据库中进行分组汇总统计,效率比较高。
用的是MySQL数据库,刚好手头上客户端软件Navicat支持
大部分常用文件类型的导入导出。
现将CSV类型的导入导出记录如下。
一、导入。
首先在mysql中创建一张表,表中字段为CSV文件中的全部列,或其中的若干列(也可以不用用建表,默认将使用文件名作为表明)。
1.
右键"表"->导入向导->选择文件类型(这里源文件是CSV格式,选择文本文件),之后下一步.
2.
导入从(CSV文件本地磁盘路径),编码(不清楚时,选择Current Windows Codepage),之后下一步.
3.
选择分隔符(CSV文件中的分割格式),一些为源定义附加项的设置,之后下一步.
4.
选择目标表,可选择现有表,或输入新的表名,之后下一步.
5.
匹配你建立的表字段与需要导入的CSV文件的列的对应关系(如果你没建表,默认导入全部列,用户自行勾选需要的列),之后下一步.
6.
根据业务场景选择"添加"(其实是追加)或"复制"(删除原表中全部记录,添加新纪录),之后下一步.
7.
选择"开始",开始导入数据.
二、导出。
导出项支持查询完成的结果集的导出,这样便于我们进行基于sql的汇总统计.
具体步骤.
1.
执行完一个sql,结果集将显示出来.
select p.pname as '省份名称', SUM(s.ying) as '应收总额',SUM(s.shi) as '实收总额',SUM(s.qian) as '欠费总额' from statistics_fee_by_prov_and_city s
LEFT JOIN province p on s.pid=p.pid
GROUP BY s.pid;
2.
依次点击 "文件"->"导出向导"->选择需要导出的文件格式,我这里选择.xls,之后下一步.
3.
这里"源"指代你的查询结果集,点击导出到选项右边的按钮,确定你需要导出文件的路径和文件名,下一步.
4.
自定义附加选项:如包含列的标题? 遇到错误继续导出?
下一步.
5.
开始导出.
好的工具用在适合的场景,有事半功倍的效果,如有类似需求,不妨用用.