Python实现读取csv文件并进行排序
作者:wendy_ya 发布时间:2021-06-27 08:37:59
从本文开始,本系列将介绍python简单案例并进行代码展示,本文的案例是利用pandas库实现读取csv文件并按照列的从小到大进行排序。
前言
CSV 是什么?
CSV 文件最开始可能有人会误认为是 Excel 的一种文件格式,包括我还没了解过 CSV 文件之前,也一直认为 CSV 格式的文件就是 Excel 保存后的另一种文件格式,下面就简单介绍一下 CSV 到底是什么。
CSV (Comma-Separated Values) 是一种相对简单、通用的文件格式,通常叫做逗号分隔值,也有人叫它字符分隔值,因为分隔字符不一定是逗号。其文件是以纯文本的形式存储表格数据,相当于一个结构化表的纯文本形式。
CSV 通常应用在程序之间转移数据场景下使用,因为 CSV 存储的格式通用且简单,适合转换为其它数据格式。比如将数据库中的数据导出存储为 CSV 文件,再将 CSV 数据文件导入到其它程序,这样就轻松实现了程序与程序之间的数据交换。
再比如,使用 Python 写爬虫程序爬取某网站上的数据时,最开始,网站上的数据往往都是比较杂乱的,将爬取到的数据存储到 CSV 文件中,可以很方便地查看数据、修改数据。
CSV 通常可以使用 Excel 打开查看,也可以使用 Wndows 记事本程序打开,你也可以使用如 Notepad++、 Sublime 等编辑器打开,阅读到此,是不是觉得 CSV 非常灵活、实用了。
一、案例描述
scalars.csv是一个三列若干行的文件。第一列为Wall time,表示无用数据;第二列为Step,绘图时用于横轴;第三列为Value,绘图时用于纵轴。
读取scalars.csv第三列元素(Value)进行从小到大排序并绘制图像。
二、代码讲解
首先导入相应的库:
import pandas as pd
import matplotlib.pyplot as plt
read_csv用于读取csv文件,header指定列标题,usecols指定读取第二列和第三列(第二列作为横,第三列作为纵)。
sort_values用于进行排序,by指定要排序的名称;axis指定要排序的轴,默认为0即按行排序;ascending指定升序排列还是降序排列,默认为True表示升序,False指定降序排列即按照从大到小进行排序。
# 对scalars.csv第三列元素进行从大到小排序并绘制图像
txt=pd.read_csv('scalars.csv',header=0,usecols=[1,2])
# 按Value排序,默认升序,ascending=False指定降序排列即按照从大到小进行排序
txt2=txt.sort_values(by=["Value"],ascending=False)
最后绘制排序前和排序后的图像。
# 创建画布
plt.figure(figsize=(10,6),dpi=100)
# 排序前的图像
plt.plot(txt['Step'],txt['Value'])
# 显示图形
plt.show()
# 排序后的图像
plt.plot(txt['Step'],txt2['Value'])
# 显示图形
plt.show()
三、完整代码
完整代码如下:
import pandas as pd
import matplotlib.pyplot as plt
# 对scalars.csv第三列元素进行从大到小排序并绘制图像
txt=pd.read_csv('scalars.csv',header=0,usecols=[1,2])
# 按Value排序,默认升序,ascending=False指定降序排列即按照从大到小进行排序
txt2=txt.sort_values(by=["Value"],ascending=True)
# 创建画布
plt.figure(figsize=(10,6),dpi=100)
# 排序前的图像
plt.plot(txt['Step'],txt['Value'])
# 显示图形
plt.show()
# 排序后的图像
plt.plot(txt['Step'],txt2['Value'])
# 显示图形
plt.show()
来源:https://blog.csdn.net/didi_ya/article/details/128955628
猜你喜欢
- 方法1: 代码如下:truncate table TableName 删除表中的所有的数据的同时,将自动增长清零。 如果有外键参考这个表,这
- asp编程中我们经常要处理字符串,比如一个新闻列表,在我们编写asp程序的时候就要考虑到新闻标题的长度不确定性,因为有的文章标题可能很长,可
- domainname.asp<form method="POST"> &nb
- 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短
- 本文分享了php结合ajax实现无刷新上传图片的实例代码,分享给大家,希望大家可以和小编一起学习学习,共同进步。1.引入文件<!--图
- 我们知道,数组的sort方法可以对数组元素进行排序,默认是按ASCII字母表顺序排序。如果要根据其他的顺序排序就需要为sort方法提供一个比
- pycharm右键新建时会有目录(文件夹)和python package两个选项,这两个到底有什么不同呢1.原来在python模块的每一个包
- 前言Golang语言有诸多优点:静态编译、协程、堪比c语言的高性能。但是也有一些令人发指的地方 —— 经常被人调侃 五行代码,三行错误处理
- 这是早上找了点时间写了一个利用404错误达到静态态效果的类,准备在HTTP://PJSKIN.MYSUC.COM中使用的。不过现在没时间去弄
- PDOStatement::bindValuePDOStatement::bindValue — 把一个值绑定到一个参数(PHP 5 >
- isnull()Null 值指出变量不包含有效数据。Null 与 Empty 不同,后者指出变量未经初始化。Null 与零长度字符串 (&q
- '====================================='功能:根据ip地址输出地区'参数:ip
- 代码如下:CREATE TABLE #tmptb(tbname sysname,tbrows int ,tbREserved varchar
- asp代理采集代码如下:<%Function ProxyPage(url) Set Retrieval&
- 在XHTML中定义ID、CLASS都用得上,主要是方面CSS定义样式时能一眼看穿。所以,CSS命名仅作参考。(1)页面结构类容器: cont
- 那里都有狭窄的空间:网页横幅、新闻标题处的空间、柱状的广告,但一张来自照相机的照片却要大很多,它们的比例一般是 6 × 4 英寸 。你如何处
- 本文实例讲述了php输出xml必须header的解决方法。分享给大家供大家参考。具体方法如下:问题描述:最近在做一个xml输出时发现我们直接
- OpenCV简介OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Ma
- 背景在吉日嘎拉的软件编程走火入魔之:数据库事务处理入门(适合初学者阅读)文章中关于MS SQL Server和Oracle对数据库事务处理的
- 微信小程序request请求后台接口php的实例详解后台php接口:http://www.vueyun.com/good/info没有处理数