网易首页 > 网易号 > 正文 申请入驻

Python-csvkit:强大的CSV文件命令行工具

0
分享至

如果你在学Python数据处理,一定对CSV文件不陌生。日常本地数据存储中,除了Excel文件外,大部分数据都是以CSV文件格式保存的。

CSV(Comma-Separated Values)是一种文本文件,也叫作逗号分隔值文件格式。顾名思义,它就是用来保存纯文本,被分隔符分隔为多个字段。

CSV文件能够被Excel、notepad++、Java、Python等各种软件读取,非常方便。

因为它结构简单、易传输、易读取的特性,使其广受个人和商业领域欢迎。

在Python中,可以使用read函数、pandas库、csv库等读写CSV文件,而且这些也是常用的方法。

这次给大家介绍一个非常强大的第三方库-csvkit,它是专门处理CSV文件的命令行工具,可以实现文件互转、数据处理、数据统计等,十分便捷。

因为csvkit是Python第三方库,我们直接使用pip来安装csvkit。

pip install csvkit

csvkit是命令行工具,所以代码都在命令行执行,下面列举一些常见的使用场景。

我们先在本地保存一个Excel表(DoubanMovie),其内容是豆瓣电影数据。

注意命令行地址要切换到该表所在位置。

比如我放在E:\csvkit_tutorial\里面,可以用下面命令来切换。

E:
cd csvkit_tutorial
1、Excel转CSV

csvkit支持将Excel等其他数据文件转化为CSV文件,使用in2csv命令实现。

in2csv DoubanMovie.xlsx > DoubanMovie.csv

除了Excel的xlsx和xls文件外,你还可以对下面多种数据格式进行CSV的转换

包括:dbf , fixed , geojson , json , ndjson

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

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

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

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

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

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

3、将CSV文件转换为Json格式

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

csvjson test.csv

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

4、数据处理和分析

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

  • csvcut:对数据进行索引切片

  • csvgrep:对数据进行过滤,可按照正则表达式规则

  • csvjoin:对不同数据表按键进行连接

  • csvsort:对数据进行排序

  • csvstack:将多个数据表进行合并

  • csvlook:以 Markdown 兼容的固定宽度格式将 CSV 呈现到命令行

  • csvstat:对数据进行简单的统计分析

小结

csvkit适合那些经常处理CSV文件的小伙伴,可快速的进行转化、清晰、分析等任务。特别当你的文件较大,一般软件难以打开时,csvkit的速度绝对会让你惊艳到。

学习文档:https://csvkit.readthedocs.io/en/latest/index.html

万水千山总是情,点个 行不行

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
谈崩了,万斯返回美国,特朗普通告全球,不许中国向伊朗提供武器

谈崩了,万斯返回美国,特朗普通告全球,不许中国向伊朗提供武器

烈史
2026-04-12 22:12:02
访陆结束,郑丽文搭飞机回台,临走前亲口赞叹,对赖清德称呼变了

访陆结束,郑丽文搭飞机回台,临走前亲口赞叹,对赖清德称呼变了

无心小姐姐
2026-04-12 20:39:39
孙俪新剧大尺度引争议,这演技还要靠脱来证明吗?

孙俪新剧大尺度引争议,这演技还要靠脱来证明吗?

娱乐领航家
2026-04-13 00:00:03
国务院新规刷屏!4 亿代步车主彻底安心,一刀切乱罚时代正式落幕

国务院新规刷屏!4 亿代步车主彻底安心,一刀切乱罚时代正式落幕

复转这些年
2026-04-12 23:52:26
北京送大礼!广东反超升至前四,后四场对手实力还比北京弱!

北京送大礼!广东反超升至前四,后四场对手实力还比北京弱!

篮球资讯达人
2026-04-12 22:09:33
又大又圆的尤物!蕾丝一穿,透而不妖,辣而不艳

又大又圆的尤物!蕾丝一穿,透而不妖,辣而不艳

飛娱日记
2026-04-12 09:34:57
纽卡25分白送:领先后不会踢,这病得治了

纽卡25分白送:领先后不会踢,这病得治了

体育硬核说
2026-04-13 00:53:56
轰24分17板!打爆周琦和麦基彰显能量,球迷:郭导该带他打世界杯

轰24分17板!打爆周琦和麦基彰显能量,球迷:郭导该带他打世界杯

南海浪花
2026-04-12 23:23:19
卤菜店使用“四姐”二字被索赔50万元,店主:大家都叫我四姐,为什么告我侵权

卤菜店使用“四姐”二字被索赔50万元,店主:大家都叫我四姐,为什么告我侵权

环球网资讯
2026-04-11 21:50:22
不打了!大规模轮休!俯冲西部第4挑选火箭

不打了!大规模轮休!俯冲西部第4挑选火箭

篮球实战宝典
2026-04-12 19:29:05
匈牙利大选投票或超80%,欧尔班指责反对派舞弊

匈牙利大选投票或超80%,欧尔班指责反对派舞弊

山河路口
2026-04-12 23:48:13
扛不住了?巴拿马总统突然发声,对中国说了句让所有人意外的话

扛不住了?巴拿马总统突然发声,对中国说了句让所有人意外的话

近史博览
2026-04-12 05:12:17
李想的这个朋友圈越界了

李想的这个朋友圈越界了

关尔东
2026-04-11 23:22:30
开国上将闹离婚:结发40年竟遭发妻死命举报,六名子女为何如释重负

开国上将闹离婚:结发40年竟遭发妻死命举报,六名子女为何如释重负

睡前讲故事
2026-04-07 14:43:34
打赏近300万,被40岁女主播拒绝结婚:私下约了4次,每次7到10天

打赏近300万,被40岁女主播拒绝结婚:私下约了4次,每次7到10天

江山挥笔
2026-04-11 21:33:38
多家公司业绩预告“变脸”由盈转亏

多家公司业绩预告“变脸”由盈转亏

财联社
2026-04-12 23:56:14
台湾创投圈的大佬蒋友松最近砸出了一个让整个岛内政坛炸锅的决定

台湾创投圈的大佬蒋友松最近砸出了一个让整个岛内政坛炸锅的决定

小马姨
2026-04-12 13:10:53
随着广东赢球、北京落败,CBA又乱了!广东重回第三,北京第四

随着广东赢球、北京落败,CBA又乱了!广东重回第三,北京第四

多特体育说
2026-04-12 22:09:16
要见证历史!热刺仍落后保级区2分,今年英超5平9负未尝一胜,身价欧洲第9英超第5!

要见证历史!热刺仍落后保级区2分,今年英超5平9负未尝一胜,身价欧洲第9英超第5!

懂个球
2026-04-12 23:58:29
阿尔忒弥斯2号最牛的不是飞多远,而是无动力返回

阿尔忒弥斯2号最牛的不是飞多远,而是无动力返回

汉宫秋
2026-04-12 06:09:26
2026-04-13 01:04:49
数据不吹牛 incentive-icons
数据不吹牛
趣味+实用数据分析
415文章数 4499关注度
往期回顾 全部

科技要闻

理想称遭恶意拉踩,东风日产:尊重同行

头条要闻

特朗普:将封锁任何试图进出霍尔木兹海峡的船只

头条要闻

特朗普:将封锁任何试图进出霍尔木兹海峡的船只

体育要闻

创造历史!五大联赛首位女性主教练诞生

娱乐要闻

赌王女儿何超蕸病逝,常年和乳癌斗争

财经要闻

美伊谈判破裂的三大症结

汽车要闻

焕新极氪007/007GT上市 限时19.39万起

态度原创

时尚
游戏
本地
艺术
教育

被周冬雨、林更新戴上热搜的珠宝,究竟有多惊艳?

《识质存在》发售/《朋友收集 梦想生活》登陆NS| 下周玩什么

本地新闻

12吨巧克力有难,全网化身超级侦探添乱

艺术要闻

揭开她笔下女人的神秘面纱,豪放洒脱的魅力令人惊叹!

教育要闻

小班教学,9月开校,树德派校长!这所中学,正在招老师

无障碍浏览 进入关怀版