Python实现读取csv文件并进行排序
wendy_ya 人气:0从本文开始,本系列将介绍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()
加载全部内容