Python3,csvkit功能竟如此强大,不仅可以转换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在实际的工作中,还是很好用的一款命令行工具。
既节省了时间,又节省了资源。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl_奕然

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值