欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python?使用csv庫處理CSV文件的方法

 更新時(shí)間:2023年06月08日 10:03:47   作者:hacker707  
Python中集成了專用于處理csv文件的庫,名為:csv,本文給大家介紹了Python使用csv庫處理CSV文件的方法及csv庫中4個(gè)常用的對象,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

CSV文件

簡單來說CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。

CSV庫

Python中集成了專用于處理csv文件的庫,名為:csv

csv 庫中有4個(gè)常用的對象:
csv.reader :以列表的形式返回讀取的數(shù)據(jù);
csv.writer :以列表的形式寫入數(shù)據(jù);
csv.DictReader :以字典的形式返回讀取的數(shù)據(jù);
csv.DictWriter:以字典的形式寫入數(shù)據(jù);

數(shù)據(jù)處理

原始數(shù)據(jù)

文件名為"test.csv"

在這里插入圖片描述

讀取數(shù)據(jù)

使用csv.reader

# 導(dǎo)入 csv 庫
import csv
def reader():
	# 打開csv文件 此處的delimiter指定了分隔符,不用此參數(shù)的話,分隔符默認(rèn)為逗號
	with open("test.csv", mode='rt',encoding="utf-8-sig") as f_in:
		reader = csv.reader(f_in,delimiter=',')
		# 獲取第一行的header
	    # header[0] = "name"
	    # header[1] = "sex"
	    # header[2] = "age"
	    # header[3] = "score"
	    header = next(reader)
	    # 逐行獲取數(shù)據(jù),并處理
		for line in reader:
			print(type(line))

此時(shí)得到的line是一個(gè)list類型

在這里插入圖片描述

使用csv.DictReader

# 導(dǎo)入 csv 庫
import csv
def dict_reader():
	# 打開文件
	with open("test.csv", mode='rt',encoding="utf-8-sig") as f_in:
	    # 基于打開的文件,創(chuàng)建csv.DictReader實(shí)例
	    reader = csv.DictReader(f_in)
	    # 逐行獲取數(shù)據(jù),并處理
	    for line in reader:
	        print(type(line))

此時(shí)的line就是一個(gè)dict類型

在這里插入圖片描述

寫入數(shù)據(jù)

注意:

在打開文件時(shí),需要添加newline = “”。否則,會(huì)在每2行有效內(nèi)容之間添加一行空白。
如果要保存的內(nèi)容有中文,而且之后需要用Excel打開文件,那么需要選用utf-8-sig編碼。如果使用utf-8編碼,會(huì)導(dǎo)致使用Excel查看文件時(shí)中文亂碼。

使用csv.writer寫入數(shù)據(jù)

# 導(dǎo)入 csv 庫
import csv
def writer():
	# 創(chuàng)建列表,保存header內(nèi)容
    header_list = ["name", "sex", "age", "score"]
    # 創(chuàng)建列表,保存數(shù)據(jù)
    data_list = [
        ["aaa", "fm", 20, 80],
        ["bbb", "fm", 19, 90],
        ["ccc", "fm", 21, 95]
    ]
    # 以寫方式打開文件。注意添加 newline="",否則會(huì)在兩行數(shù)據(jù)之間都插入一行空白。
    with open("new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f_out:
        # 基于打開的文件,創(chuàng)建 csv.writer 實(shí)例
        writer = csv.writer(f_out)
        # 寫入 header。
        # writerow() 一次只能寫入一行。
        writer.writerow(header_list)
        # 寫入數(shù)據(jù)。
        # writerows() 一次寫入多行。
        writer.writerows(data_list)

輸出結(jié)果為:

在這里插入圖片描述

使用csv.DictWriter寫入數(shù)據(jù)

# 導(dǎo)入 csv 庫
import csv
def dict_writer():
	# 創(chuàng)建列表,保存header內(nèi)容
    header_list = ["name", "sex", "age", "score"]
    # 創(chuàng)建列表,保存數(shù)據(jù)
    data_list = [
        {"name":"a", "sex":"m", "age":20, "score":80},
        {"name":"bb", "sex":"fm", "age":19, "score":90},
        {"name":"ccc", "sex":"fm", "age":21, "score":95},
    ]
    # 以寫方式打開文件。注意添加 newline="",否則會(huì)在兩行數(shù)據(jù)之間都插入一行空白。
    with open("dict_new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f_out:
        # 基于打開的文件,創(chuàng)建 csv.DictWriter 實(shí)例,將 header 列表作為參數(shù)傳入。
        writer = csv.DictWriter(f_out, header_list)
        # 寫入 header
        writer.writeheader()
        # 寫入數(shù)據(jù)
        writer.writerows(data_list)

輸出結(jié)果為:

在這里插入圖片描述

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

相關(guān)文章

  • Python如何在Word中查找并替換文本

    Python如何在Word中查找并替換文本

    這篇文章主要為大家詳細(xì)介紹了Python在Word中實(shí)現(xiàn)查找并替換文本的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • Opencv實(shí)現(xiàn)眼睛控制鼠標(biāo)的實(shí)踐

    Opencv實(shí)現(xiàn)眼睛控制鼠標(biāo)的實(shí)踐

    本文主要介紹了Opencv實(shí)現(xiàn)眼睛控制鼠標(biāo)的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖

    Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖

    這篇文章主要介紹了Python連接數(shù)據(jù)庫使用matplotlib畫柱形圖,文章通過實(shí)例展開對主題的相關(guān)介紹。具有一定的知識參考價(jià)值性,感興趣的小伙伴可以參考一下
    2022-06-06
  • 詳解如何利用Numpy生成各種各樣的數(shù)組

    詳解如何利用Numpy生成各種各樣的數(shù)組

    Numpy提供了多種函數(shù)和方法,可以方便地生成不同形狀和類型的數(shù)組,今天小編就帶大家學(xué)習(xí)一下如何利用?Numpy?生成各種各樣的數(shù)組吧
    2023-07-07
  • python讀取指定字節(jié)長度的文本方法

    python讀取指定字節(jié)長度的文本方法

    今天小編就為大家分享一篇python讀取指定字節(jié)長度的文本方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 增大python字體的方法步驟

    增大python字體的方法步驟

    在本篇文章里小編給大家整理了關(guān)于增大python字體的方法步驟,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • 如何利用Python打開txt格式的文件

    如何利用Python打開txt格式的文件

    在機(jī)器學(xué)習(xí)中,常常需要讀取txt文本中的數(shù)據(jù),這篇文章主要給大家介紹了關(guān)于如何利用Pythont打開txt格式的文件的相關(guān)資料,文中通過示例代碼介紹的非常詳解,需要的朋友可以參考下
    2021-10-10
  • python爬蟲實(shí)現(xiàn)POST request payload形式的請求

    python爬蟲實(shí)現(xiàn)POST request payload形式的請求

    這篇文章主要介紹了python爬蟲實(shí)現(xiàn)POST request payload形式的請求,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python實(shí)現(xiàn)控制手機(jī)電腦拍照并自動(dòng)發(fā)送郵箱

    Python實(shí)現(xiàn)控制手機(jī)電腦拍照并自動(dòng)發(fā)送郵箱

    這篇文章主要介紹了如何實(shí)現(xiàn)利用Python控制手機(jī)電腦拍照并自動(dòng)發(fā)送郵箱,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-02-02
  • python實(shí)現(xiàn)linux下抓包并存庫功能

    python實(shí)現(xiàn)linux下抓包并存庫功能

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)linux下抓包并存庫功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07

最新評論