Python3,csvkit功能竟如此强大,不仅可以转换csv格式文件,还能进行数据处理和分析。

举报
Carl_奕然 发表于 2023/02/27 10:01:23 2023/02/27
【摘要】 1、引言小屌丝:鱼哥,excel文档如何转换成csv文档?小鱼:这还不简单? 百度一下,全都有。小屌丝:百度的那些教程我都看了,操作太麻烦,小鱼:那你直接把后缀名“.xls” 改成“.csv”,岂不是更快小屌丝:你扯淡呢~小鱼:哈哈,我知道一个工具,也就一行代码的事。小屌丝:果然你又有私货,快晒一下小鱼:是这样晒吗?小屌丝:我说share一下 excel转换csv的工具!小鱼:哦,那我知道了...

1、引言


小屌丝:鱼哥,excel文档如何转换成csv文档?
小鱼:这还不简单? 百度一下,全都有。
小屌丝:百度的那些教程我都看了,操作太麻烦,
小鱼:那你直接把后缀名“.xls” 改成“.csv”,岂不是更快
小屌丝:你扯淡呢~
小鱼:哈哈,我知道一个工具,也就一行代码的事。
小屌丝:果然你又有私货,快晒一下
小鱼:是这样晒吗?

小屌丝:我说share一下 excel转换csv的工具!
小鱼:哦,那我知道了。

2、csvkit


在日常工作中,excel转换成csv格式的文件,很常见,
如果按照百度的经验,先打开excel文档,在保存的时候,选择转换格式,然后在需要把编码格式转换一下,确实很费劲。

但是,我们今天来介绍一款超级奈斯的csv转换工具,一行代码就搞定。
对的,我先已经有人猜到了,它就是 csvkit。
为什么说它很奈斯,很强大,因为…
往下看!

2.1 基本介绍


我们先来了解什么是CSV文本:

  • CSV(Comma-Separated Values)是一种文本文件,也叫作逗号分隔值文件格式。顾名思义,它就是用来保存纯文本,被分隔符分隔为多个字段;
  • CSV文件能够被Excel、notepad++、Java、Python等各种软件读取,非常方便;
  • 因为它结构简单、易传输、易读取的特性,使其广受个人和商业领域欢迎;

csvkit功能:

  • csvkit是python的第三方库;
  • csvkit是专门处理CSV文件的命令行工具,可以实现文件互转、数据处理、数据统计等,十分便捷;


了解基本信息,我们就来看看csvkit的功能。

2.2 功能示例


2.2.1 安装


由于csvkit是第三方库,所以,我们第一步就是安装,
老规矩,pip方式安装

pip install csvkit


其他方式安装:


安装过程,需要耐心等待一下,安装完成,就是这个样子


安装完,就到了激动人心的环节了。

2.2.2 Excel转CSV


我们先准备excel文件,内容是这样的

由于csvkit是命令行工具,所以,只需要一句代码,就可以转换

in2csv 个人喜好文档.xlsx > 个人喜好文档.csv


敲黑板:

>>需要先进入到 excel文档的目录下,然后再执行这条命令

运行结果

看看内容

非常完美,非常奈斯。

当然,还可以转换以下这些格式的文档:

  • dbf
  • fixed
  • geojson
  • json
  • ndjson


2.2.3 对SQL数据库进行读写和查询操作


实例一:
从MySQL数据库中读取一张表存到本地CSV文件中,使用csvsql命令实现。

csvsql --db "mysql://user:pass@host/database?charset=utf8" --tables "test_table" --insert test_table.csv



实例二:
直接对MySQL数据库进行数据查询,使用sql2csv命令实现

sql2csv --db "mysql://user:pass@host/database?charset=utf8" --query "select * from test_table"


注意:
代码中–db参数后面需要输入数据库的信息,用于连接数据库。

2.2.4 CSV文件转换为Json格式


除了将Json文件转化为CSV格式外,csvkit也支持将CSV文件转化为Json格式,使用csvjson命令实现。

csvjson test.csv



注意:
如果你是做地理空间分析,还可以将csv文件转化为GeoJson格式。

2.2.5 数据处理和分析


csvkit中还有用于数据处理分析的命令,如下:

  • csvcut:对数据进行索引切片
  • csvgrep:对数据进行过滤,可按照正则表达式规则
  • csvjoin:对不同数据表按键进行连接
  • csvsort:对数据进行排序
  • csvstack:将多个数据表进行合并
  • csvlook:以 Markdown 兼容的固定宽度格式将 CSV 呈现到命令行
  • csvstat:对数据进行简单的统计分析


3、总结


今天的内容,差不多就这么多了,
csvkit在实际的工作中,还是很好用的一款命令行工具。
既节省了时间,又节省了资源。

我是小鱼

  • CSDN 博客专家;
  • 阿里云 专家博主;
  • 51CTO博客专家;
  • 51认证讲师;
  • 金牌面试官;

关注我,带你学习更多更有趣的Python知识。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。