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