python學習筆記(6):csv文件讀取

2021-12-23 測試開發實戰課

昨天發了篇文章,是講如何讀取.xls格式文件的,今天來說下CSV文件怎麼讀取。我個人用CSV還是比較多的,因為讀取起來比較方便。

小試牛刀

「示例文件」「來個簡單式的」

讀取csv文件,用的是csv.reader()這個方法。返回結果是一個_csv.reader的對象,我們可以對這個對象進行遍歷,輸出每一行,某一行,或某一列。

import csv
with open('test.csv','r') as  f:
    content=csv.reader(f)
    for i in content:
        print(i)

如果希望僅僅讀取一行或者一列可以這樣做:

獲取一行
import csv
with open('test.csv','r') as  f:
    content=csv.reader(f)
    print(list(content)[1])
    

獲取一列
import csv
with open('test.csv','r',encoding="utf-8") as  f:
    content=csv.reader(f)
    for i in content:
        print(i[1])

單個讀出

按照第一行的title進行讀取。

import csv
def get_data(file_name):
    with open(file_name,encoding="utf-8") as csvfile:
        reader =list( csv.DictReader(csvfile))
        for row in reader:
        # 循環列印數據的id和class值
            print(row["id"],row["class"])
        # 1 2    
        # 2 3
        # 3 4
        
           print(row)
        # orderedDict([('id', '2'), ('class', '3')])
        # OrderedDict([('id', '3'), ('class', '4')])
    return reader

get_data('test.csv')

封裝案例

Python 中的csv模塊實現了以csv格式讀取和寫入表格數據的類,可以從Excel生成的csv文件中讀取數據。

reader對象和writer對象以列表的形式讀寫數據,DictReader類和DictWriter類以字典的形式讀取數據。

「示例文件」

'''
序號,usename,password,mobile,預期結果,實際結果,測試結果
1,,123456,15313167402,400,,
2,test_user,123456,15313167402,400,,
3,test_user,123456,15313167402,400,,
4,test_user,123456,15313167402,400,,
5,test_user,123457,15313167403,401,,
'''

「代碼展示」

import csv
from datetime import datetime


def get_data(filename):
    '''從csv中讀取數據'''
    with open(filename)  as  f:
        data = list(csv.DictReader(f))
    return data


data =get_data('test2.csv')


def put_data(data):
    '''將結果保存到新的csv文件中'''
    filename = f'{datetime.now().strftime("%Y-%m-%d_%H_%M_%S")}.csv'
    with open(filename, "w", newline='') as f:
        headers = data[0].keys()
        writer = csv.DictWriter(f, headers)
        writer.writeheader()
        writer.writerows(data)

put_data(data)

另:有同學要其它的關於Excel類封裝,可以看這篇文章。

接口自動化測試框架實戰:郵件、斷言、Excel類的封裝

參考文章:

https://docs.python.org/3.7/library/csv.html#module-csv

相關焦點

  • Python讀取csv文件常見的兩種方法
    一、數據存取之csv(一)什麼是csvCSV是一種通用的、相對簡單的文件格式,被用戶、商業和科學廣泛應用。最廣泛的應用是在程序之間轉移表格數據,而這些程序本身是在不兼容的格式上進行操作的(往往是私有的和/或無規範的格式)。
  • python學習筆記 - 讀寫CSV文件
    python三方庫提供了csv庫,我們需要通過這個庫,來實現對CSV文件的讀與寫。所以我們在應用csv庫之前,需要提前安裝它。2、讀取CSV文件2.1、實例化CSV文件讀取類(DictReader)csv模塊下提供了DictReader類,它可以將普通的文本文檔讀取對象轉化為csv文檔讀取對象。
  • python筆記5-python2寫csv文件中文亂碼問題
    一、csv中文亂碼1.open打開csv文件,用writer寫入帶有中文的數據時- writer寫入單行- writers寫入多行```# coding:utf-8import csvf = open("xieru.csv", 'wb')writer =
  • [乾貨分享】用Python讀取CSV文件的幾種方式
    有時候數據是以csv形式存儲的,要處理數據我們需要先進行讀取操作。這裡我總結了幾種csv的讀取方法(基於python)。1.利用numpy讀取import numpy as npdata = np.loadtxt(open("路徑.csv","rb"),delimiter=",",skiprows=n,usecols=[2,3]) delimiter是分隔符,skiprows是跳過前n行,usecols是使用的列數,例子中讀取的是
  • Python處理CSV文件
    csv文件是一類出現頻率非常高的文本文件,在python中有許多方法可以讀寫他。name,age,cityliming,12,taianzhangsan,20,hezelisi,18,shenzhen讀取原生方法原生方法是指不藉助第三方庫,只使用python本身來進行讀寫。
  • Python對CSV文件的處理
    在接口自動化測試中,把測試的數據存儲到csv的文件也是一種很不錯的選擇,下面就詳細的介紹如何實現CSV文件內容的讀取和如何把數據寫入到
  • python讀寫csv文件
    文件讀寫的經典操作方式如下,通過內置的open函讀取到每行內容,按照指定的分隔符進行分隔,然後對每一列的內容進行處理。
  • Python讀取CSV和Excel
    CSV逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進位數字那樣被解讀的數據。
  • 巧用Python : 從CSV文件讀取數據
    導出後列表格式的信息被存儲進了對應的CSV文件中。結構打開csv文件,將文件對象命名為f:with open('media2021.csv') as f:調用csv的reader方法將f對象的數據封裝成可迭代的reader對象(這個reader是自定義的變量名稱,可以是其他):with open('media2021.csv') as f:    reader = csv.reader
  • 利用Python讀取外部數據文件
    作者:劉順祥個人微信公眾號:每天進步一點點2015不論是數據分析,數據可視化,還是數據挖掘,一切的一切全都是以數據作為最基礎的元素
  • 基於python的大數據分析-pandas數據讀取(代碼實戰)
    長按上方二維碼加入千人QQ群基於python的大數據分析實戰學習筆記-Anaconda基於python的大數據分析實戰學習筆記-pandas(數據分析包)基於python的大數據分析實戰學習筆記-pandas之DataFrame我們常見的數據存儲格式無非就是csv、excel、txt以及資料庫等形式
  • 用Python讀取大型CSV文件
    如果你遇到一個大的CSV文件,你想處理它,你有幾個選擇。如果你可以一次處理其中的一部分,你可以把它讀成塊,然後處理每個塊。如果您知道您應該有足夠的內存來加載文件,縮小文件大小再讀取。這裡需要注意,一般來說,你應該有三到十倍於你要操作的DataFrame大小的內存。額外的內存應該給你足夠的額外空間來執行許多常見的操作。
  • python pandas解決csv文件中的部分注釋問題
    由於通過添加注釋,文件通常可以更加清晰明了。csv文件中有注釋,這種情況是可能存在的。
  • R語言讀取csv文件
    csv文件一般是用的最多的數據文件格式,這一節主要介紹怎麼讀取csv文件。
  • pandas庫讀取csv文件
    csv文件讀取比較人性化的庫就是pandas,我之前一直在mac上用,確實讓人愛不釋手。但昨天直播前將代碼放到window時候,代碼就這樣神奇的報錯了。直播完後立馬有朋友告訴我解決辦法,特此連夜分享,方便大家將爬到的微博csv文件數據進行分析。本文只是為了解決csv在windows讀取問題而寫,內容不多。對pandas感興趣的可以看文檔或者去百度下常用方法。文章末尾附上數據及腳本,大家可以照著本文敲打運行下。
  • csv文件讀寫操作 | pyhton內置csv模塊
    python也內置了csv模塊,用來操作csv文件。一、csv模塊寫入數據writer(csvfile,dialect=『excel』,**fmtparams)csvfile:文件對象dialect:編碼風格,默認為是excel,也就是用逗號(,)分隔,一般不去更改它。
  • python讀取csv簡明教程
    csv庫讀取Python提供了CSV模塊來處理CSV文件csv.field_size_limit –返回最大欄位大小csv.get_dialect –獲取與名稱相關的方言csv.list_dialects –顯示所有已註冊的方言csv.reader –從csv文件讀取數據csv.register_dialect-將方言與名稱相關聯csv.writer –將數據寫入
  • 讀取、創建和運行多個文件的3個Python技巧
    動機將代碼投入生產時,你很可能需要處理代碼文件的組織。讀取、創建和運行許多數據文件非常耗時。循環訪問目錄中的文件如果我們要像這樣讀取和處理多個數據:├── data│ ├── data1.csv│ ├── data2.csv│ └── data3.csv└── main.py我們可以嘗試一次手動讀取一個文件import pandas as pd def process_data
  • 簡單小案例(一):使用Pandas在Python中讀取和寫入CSV文件
    有幾種不同的方法,例如,您可以使用Python的內置open()函數來讀取CSV(逗號分隔值)文件,或者可以使用Python的專用csv模塊來讀取和寫入CSV文件。根據您的用例,您還可以使用Python的Pandas庫讀取和寫入CSV文件。在本文中,您將看到如何使用Python的Pandas庫讀取和寫入CSV文件。但是,在此之前,讓我們簡要地看看什麼是CSV文件。
  • Python讀寫csv文件專題教程(2)
    dtype承接前文,test.csv讀入後數據框如下:In [6]: df = pd.read_csv('test.csv',sep='\s+') In [7]: df