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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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

其他方式安装:


《Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!》

《Python3:我低调的只用一行代码,就导入Python所有库!!》

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

image.png


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


2.2.2 Excel转CSV

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

image.png

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


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

敲黑板:


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


运行结果

image.png

看看内容

image.png

非常完美,非常奈斯。


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


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在实际的工作中,还是很好用的一款命令行工具。


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
24 1
|
1天前
|
数据采集 数据可视化 数据处理
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
Python从入门到精通的文章3.3.1 深入学习Python库和框架:数据处理与可视化的利器
|
2天前
|
机器学习/深度学习 算法 vr&ar
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
14 4
|
2天前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
20 4
|
2天前
|
API vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列(上)
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
30 5
|
7天前
|
存储 Python
用Python实现批量下载文件——代理ip排除万难
用Python实现批量下载文件——代理ip排除万难
|
7天前
|
JSON 关系型数据库 数据库
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
《Python 简易速速上手小册》第6章:Python 文件和数据持久化(2024 最新版)
34 0
|
7天前
|
数据挖掘 索引 Python
Python 读写 Excel 文件
Python 读写 Excel 文件
12 0
|
7天前
|
数据安全/隐私保护 Python
Python文件与目录操作:面试中的高频考点
【4月更文挑战第15天】本文介绍了Python文件和目录操作的面试重点,包括文件的读写、目录遍历及权限管理。强调了文件关闭、异常处理、特殊文件判断以及权限位和权限字符串的理解。提供了代码示例,如读写文件、遍历目录和更改文件权限,帮助读者在面试中表现出色。掌握这些技能将对编程求职之路大有裨益。
17 0
|
Python
使用python实现一个文件搜索功能,类似于Everything功能
一般人日常总是会将一些片段信息记录到文件中,放到电脑硬盘上。等过段时间,可能就不知道放到哪里了,电脑上文件夹太多。 找文件一般都会借助于搜索软件,比如Everything软件就很强大,输入名称,就能全局查找文件;
389 0