Python實現(xiàn)讀取csv文件并進行排序
從本文開始,本系列將介紹python簡單案例并進行代碼展示,本文的案例是利用pandas庫實現(xiàn)讀取csv文件并按照列的從小到大進行排序。
前言
CSV 是什么?
CSV 文件最開始可能有人會誤認為是 Excel 的一種文件格式,包括我還沒了解過 CSV 文件之前,也一直認為 CSV 格式的文件就是 Excel 保存后的另一種文件格式,下面就簡單介紹一下 CSV 到底是什么。
CSV (Comma-Separated Values) 是一種相對簡單、通用的文件格式,通常叫做逗號分隔值,也有人叫它字符分隔值,因為分隔字符不一定是逗號。其文件是以純文本的形式存儲表格數(shù)據(jù),相當于一個結(jié)構(gòu)化表的純文本形式。
CSV 通常應用在程序之間轉(zhuǎn)移數(shù)據(jù)場景下使用,因為 CSV 存儲的格式通用且簡單,適合轉(zhuǎn)換為其它數(shù)據(jù)格式。比如將數(shù)據(jù)庫中的數(shù)據(jù)導出存儲為 CSV 文件,再將 CSV 數(shù)據(jù)文件導入到其它程序,這樣就輕松實現(xiàn)了程序與程序之間的數(shù)據(jù)交換。
再比如,使用 Python 寫爬蟲程序爬取某網(wǎng)站上的數(shù)據(jù)時,最開始,網(wǎng)站上的數(shù)據(jù)往往都是比較雜亂的,將爬取到的數(shù)據(jù)存儲到 CSV 文件中,可以很方便地查看數(shù)據(jù)、修改數(shù)據(jù)。
CSV 通常可以使用 Excel 打開查看,也可以使用 Wndows 記事本程序打開,你也可以使用如 Notepad++、 Sublime 等編輯器打開,閱讀到此,是不是覺得 CSV 非常靈活、實用了。
一、案例描述
scalars.csv是一個三列若干行的文件。第一列為Wall time,表示無用數(shù)據(jù);第二列為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表示升序,F(xiàn)alse指定降序排列即按照從大到小進行排序。
# 對scalars.csv第三列元素進行從大到小排序并繪制圖像 txt=pd.read_csv('scalars.csv',header=0,usecols=[1,2]) # 按Value排序,默認升序,ascending=False指定降序排列即按照從大到小進行排序 txt2=txt.sort_values(by=["Value"],ascending=False)
最后繪制排序前和排序后的圖像。
# 創(chuàng)建畫布 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) # 創(chuàng)建畫布 plt.figure(figsize=(10,6),dpi=100) # 排序前的圖像 plt.plot(txt['Step'],txt['Value']) # 顯示圖形 plt.show() # 排序后的圖像 plt.plot(txt['Step'],txt2['Value']) # 顯示圖形 plt.show()
到此這篇關于Python實現(xiàn)讀取csv文件并進行排序的文章就介紹到這了,更多相關Python讀取csv文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python+opencv 實現(xiàn)圖片文字的分割的方法示例
這篇文章主要介紹了Python+opencv 實現(xiàn)圖片文字的分割的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07Python分割單詞和轉(zhuǎn)換命名法的實現(xiàn)
本文主要介紹了Python分割單詞和轉(zhuǎn)換命名法的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03python連接并簡單操作SQL?server數(shù)據(jù)庫詳細步驟
python作為一門十分火熱的編程語言,操作數(shù)據(jù)庫自然是必不可少的,下面這篇文章主要給大家介紹了關于python連接并簡單操作SQL?server數(shù)據(jù)庫的相關資料,需要的朋友可以參考下2023-06-06