Python实现读取csv文件并进行排序
作者:wendy_ya
从本文开始,本系列将介绍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()
到此这篇关于Python实现读取csv文件并进行排序的文章就介绍到这了,更多相关Python读取csv文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!