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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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在实际的工作中,还是很好用的一款命令行工具。


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
缓存 Rust 算法
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
101 35
|
1月前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
23天前
|
数据采集 JSON 测试技术
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
144 83
|
2天前
|
存储 算法 文件存储
探秘文件共享服务之哈希表助力 Python 算法实现
在数字化时代,文件共享服务不可或缺。哈希表(散列表)通过键值对存储数据,利用哈希函数将键映射到特定位置,极大提升文件上传、下载和搜索效率。例如,在大型文件共享平台中,文件名等信息作为键,物理地址作为值存入哈希表,用户检索时快速定位文件,减少遍历时间。此外,哈希表还用于文件一致性校验,确保传输文件未被篡改。以Python代码示例展示基于哈希表的文件索引实现,模拟文件共享服务的文件索引构建与检索功能。哈希表及其分布式变体如一致性哈希算法,保障文件均匀分布和负载均衡,持续优化文件共享服务性能。
|
2月前
|
并行计算 安全 Java
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
在Python开发中,GIL(全局解释器锁)一直备受关注。本文基于CPython解释器,探讨GIL的技术本质及其对程序性能的影响。GIL确保同一时刻只有一个线程执行代码,以保护内存管理的安全性,但也限制了多线程并行计算的效率。文章分析了GIL的必要性、局限性,并介绍了多进程、异步编程等替代方案。尽管Python 3.13计划移除GIL,但该特性至少要到2028年才会默认禁用,因此理解GIL仍至关重要。
179 16
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
|
27天前
|
人工智能 搜索推荐 测试技术
通义灵码 2.0 智能编码功能评测:Deepseek 加持下的 Python 开发体验
通义灵码 2.0 智能编码功能评测:Deepseek 加持下的 Python 开发体验
98 11
|
2月前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
61 20
|
2月前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
103 8
|
7月前
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
110 1
|
9月前
|
存储 Python 内存技术
python WAV音频文件处理—— (1)读写WAV文件
python WAV音频文件处理—— (1)读写WAV文件
222 14

热门文章

最新文章