论坛首页 综合技术论坛

Navicat导入导出csv文件

浏览 17101 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2013-07-30  
今日需要对一个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.
开始导出.



好的工具用在适合的场景,有事半功倍的效果,如有类似需求,不妨用用.
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics