最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

教你用Python讀取CSV文件的5種方式

 更新時間:2021年11月04日 11:31:02   作者:寰宇001  
一個股票的數(shù)據(jù)集,其實就是常見的表格數(shù)據(jù),有自己的頭部和身體,這篇文章主要介紹了用Python讀取CSV文件的5種方式,通過五招給大家介紹的非常詳細,需要的朋友可以參考下

在python里面,讀取或?qū)懭隿sv文件時,首先要import csv這個庫,然后利用這個庫提供的方法進行對文件的讀寫。

典型的數(shù)據(jù)集stocks.csv:

在這里插入圖片描述

一個股票的數(shù)據(jù)集,其實就是常見的表格數(shù)據(jù)。有股票代碼,價格,日期,時間,價格變動和成交量。這個數(shù)據(jù)集其實就是一個表格數(shù)據(jù),有自己的頭部和身體。

第一招:簡單的讀取

我們先來看一種簡單讀取方法,先用csv.reader()函數(shù)讀取文件的句柄f生成一個csv的句柄,其實就是一個迭代器,我們看一下這個reader的源碼:

在這里插入圖片描述

喂給reader一個可迭代對象或者是文件的object,然后返回一個可迭代對象。

在這里插入圖片描述

  • 首先讀取csv 文件,然后用csv.reader生成一個csv迭代器f_csv
  • 然后利用迭代器的特性,next(f_csv)獲取csv文件的頭,也就是表格數(shù)據(jù)的頭
  • 接著利用for循環(huán),一行一行打印row的內(nèi)容,也就是表格數(shù)據(jù)的身體

在這里插入圖片描述 

第二招:用nametuple

上面的第一招其實是最簡單的,下面我們用nametuple 來包裹一下這個生成的row數(shù)據(jù)。

在這里插入圖片描述

  • nametuple其實是一個非常有用的類,這個類屬于collections模塊,而這個模塊簡直就是一個百寶箱里面有非常多的牛逼的庫;
  • 這里我們用next(f_csv)其實就是獲取表格的頭部來初始化這個Row;
  • 然后循環(huán)來構(gòu)造這個Row的數(shù)據(jù),把我們表格里面的每一行的數(shù)據(jù)都喂成nametuple格式的row_info;
  • 這樣做的好處就是你可以隨心所欲的訪問這個row_info里面的數(shù)據(jù),就想訪問類數(shù)據(jù)一樣,比如row_info.price

第三招:用tuple類型轉(zhuǎn)換

如果我們對csv數(shù)據(jù)每一行的類型都非常清楚的話,嘿嘿可以用一個設(shè)定好的數(shù)據(jù)格式轉(zhuǎn)換頭來對數(shù)據(jù)進行轉(zhuǎn)換。

在這里插入圖片描述

操作的步驟其實跟上面差不多,就是對數(shù)據(jù)結(jié)果的清洗處理稍微不一樣。這里非常巧妙的zip來構(gòu)造一個嵌套的數(shù)據(jù)列表,然后用convert(data)把csv文件里面每一行的數(shù)據(jù)進行類型轉(zhuǎn)換,這招真的不錯!
看一下結(jié)果:

在這里插入圖片描述

第四招:用DictReader

上面用的nametuple其實也是一個數(shù)據(jù)的映射,有沒有什么方法可以直接把csv 的內(nèi)容用映射的方法讀取,直接出來一個字典,還真有的,來看一下代碼:

在這里插入圖片描述

是不是非常簡捷,原來csv模塊直接內(nèi)置了DictReader(),按照字典的方法進行讀取,然后生成一個有序的字典,看一下結(jié)果:

在這里插入圖片描述

有興趣的可以看一下這個DictReader()的源碼,它其實一個內(nèi)部構(gòu)造的迭代器類,在內(nèi)部的__next__其實也是用的OrderedDict(zip(self.fieldnames, row))來生成的。

第五招:用字典轉(zhuǎn)換

如果我們需要對這個csv里面的數(shù)據(jù)進行清洗,因為讀出來的時候都是字符串,我們需要更新為特定的數(shù)據(jù)類型,這個時候也可以用字典轉(zhuǎn)換這一招,也是非常巧妙的,我們看一下源碼:

在這里插入圖片描述

原來的數(shù)據(jù)價格Price和成交量,我希望最后讀取生成的是一個浮點型數(shù)據(jù)和整形的數(shù)據(jù),這么搞呢,用一個字典來巧妙的更新key即可。

  • 首先我們聲明一個自定義的類型轉(zhuǎn)換器field_types;
  • 然后循環(huán)生成一個可迭代的對象(key,conversion(row[key]);
  • 最后更新一下字典里面相同的key,比如row[‘price']的內(nèi)容就會被更新了

參考鏈接 :

用Python讀取CSV文件的5種方式https://mp.weixin.qq.com/s/cs4buSULva1FgCctp_fB6g

到此這篇關(guān)于教你用Python讀取CSV文件的5種方式的文章就介紹到這了,更多相關(guān)Python讀取CSV文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章帶你了解python正則表達式的正確用法

    一篇文章帶你了解python正則表達式的正確用法

    這篇文章主要介紹了Python中正則表達式的詳細教程,正則表達式是Python學(xué)習(xí)進階當(dāng)中的重要內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • matlab調(diào)用python的各種方法舉例子詳解

    matlab調(diào)用python的各種方法舉例子詳解

    為了發(fā)揮matlab的繪圖優(yōu)勢+原先python寫好的功能組合方式,下面這篇文章主要給大家介紹了關(guān)于matlab調(diào)用python的各種方法,需要的朋友可以參考下
    2023-09-09
  • 利用OpenCV給彩色圖像添加椒鹽噪聲的方法

    利用OpenCV給彩色圖像添加椒鹽噪聲的方法

    椒鹽噪聲是數(shù)字圖像中的常見噪聲,一般是圖像傳感器、傳輸信道及解碼處理等產(chǎn)生的黑白相間的亮暗點噪聲,椒鹽噪聲常由圖像切割產(chǎn)生,這篇文章主要給大家介紹了關(guān)于利用OpenCV給彩色圖像添加椒鹽噪聲的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • django數(shù)據(jù)庫遷移migration實現(xiàn)

    django數(shù)據(jù)庫遷移migration實現(xiàn)

    這篇文章主要介紹了django數(shù)據(jù)庫遷移migration實現(xiàn),遷移任務(wù)是根據(jù)對models.py文件的改動情況,添加或者刪除表和列,下面詳細的相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-02-02
  • Python中Numpy模塊使用詳解

    Python中Numpy模塊使用詳解

    這篇文章主要介紹了Python中Numpy模塊使用詳解,NumPy是Python 的一個擴展程序庫,支持大量的維度數(shù)組與矩陣運算。更多相關(guān)內(nèi)容需要的朋友可以參考一下
    2022-07-07
  • python獲取本機mac地址和ip地址的方法

    python獲取本機mac地址和ip地址的方法

    這篇文章主要介紹了python獲取本機mac地址和ip地址的方法,涉及Python獲取系統(tǒng)相關(guān)信息的技巧,需要的朋友可以參考下
    2015-04-04
  • Django的多表查詢操作實戰(zhàn)

    Django的多表查詢操作實戰(zhàn)

    Django提供一種強大而又直觀的方式來"處理"查詢中的關(guān)聯(lián)關(guān)系,它在后臺自動幫你處理JOIN,下面這篇文章主要給大家介紹了關(guān)于Django多表查詢操作的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • python項目以docker形式打包部署詳細流程

    python項目以docker形式打包部署詳細流程

    Docker是一個開源項目,為開發(fā)人員和系統(tǒng)管理員提供了一個開放平臺,可以將應(yīng)用程序構(gòu)建、打包為一個輕量級容器,并在任何地方運行,這篇文章主要給大家介紹了關(guān)于python項目以docker形式打包部署的詳細流程,需要的朋友可以參考下
    2024-08-08
  • python通過Windows下遠程控制Linux系統(tǒng)

    python通過Windows下遠程控制Linux系統(tǒng)

    這篇文章主要為大家詳細介紹了python通過Windows下遠程控制Linux系統(tǒng),實現(xiàn)對socket模塊認(rèn)識,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • python基礎(chǔ)篇之pandas常用基本函數(shù)匯總

    python基礎(chǔ)篇之pandas常用基本函數(shù)匯總

    Pandas是一個python數(shù)據(jù)分析庫,它提供了許多函數(shù)和方法來加快數(shù)據(jù)分析過程,下面這篇文章主要給大家介紹了關(guān)于python基礎(chǔ)篇之pandas常用基本函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07

最新評論

万载县| 古丈县| 阳山县| 泽库县| 新化县| 高州市| 娱乐| 广德县| 临高县| 镶黄旗| 新丰县| 宁阳县| 通道| 松原市| 静乐县| 梅河口市| 延庆县| 崇信县| 嘉义市| 马龙县| 荆州市| 耿马| 高雄县| 尼木县| 望奎县| 清涧县| 诸城市| 绥棱县| 太白县| 太仆寺旗| 息烽县| 凤台县| 黄梅县| 西和县| 韶关市| 东光县| 贵港市| 义乌市| 利津县| 新宁县| 许昌县|