91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何用Python處理CSV文件

發布時間:2022-06-13 10:37:14 來源:億速云 閱讀:288 作者:iii 欄目:開發技術

這篇文章主要介紹“如何用Python處理CSV文件”,在日常操作中,相信很多人在如何用Python處理CSV文件問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用Python處理CSV文件”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Python庫:csv

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

csv 庫中有4個常用的對象:

  • csv.reader:以列表的形式返回讀取的數據。

  • csv.writer:以列表的形式寫入數據。

  • csv.DictReader:以字典的形式返回讀取的數據。

  • csv.DictWriter:以字典的形式寫入數據。

讀取csv文件

假設現在要讀取的csv文件內容如下:

如何用Python處理CSV文件

可以看到,該文件的第一行表明數據類型,我們暫且稱之為header。從第2行開始,保存的是設備采集到的數據。

使用csv.reader讀取數據

# 導入 csv 庫
import csv

# 以讀方式打開文件
with open("data.csv", mode="r", encoding="utf-8-sig") as f:
    
    # 基于打開的文件,創建csv.reader實例
    reader = csv.reader(f)

    # 獲取第一行的header
    # header[0] = "設備編號"
    # header[1] = "溫度"
    # header[2] = "濕度"
    # header[3] = "轉速"
    header = next(reader)

    # 逐行獲取數據,并輸出
    for row in reader:
        print("{}{}: {}={}, {}={}, {}={}".format(header[0], row[0],
                                                 header[1], row[1],
                                                 header[2], row[2],
                                                 header[3], row[3]))

程序運行結果如下:

設備編號0: 溫度=31, 濕度=20, 轉速=1000
設備編號1: 溫度=30, 濕度=22, 轉速=998
設備編號2: 溫度=32, 濕度=23, 轉速=1005

使用csv.DictReader讀取數據

# 導入 csv 庫
import csv

# 打開文件
with open("data.csv", encoding="utf-8-sig", mode="r") as f:

    # 基于打開的文件,創建csv.DictReader實例
    reader = csv.DictReader(f)

    # 輸出信息
    for row in reader:
        print("設備編號{}: 溫度={}, 濕度={}, 轉速={}".format(row["設備編號"],
                                                   row["溫度"],
                                                   row["濕度"],
                                                   row["轉速"]))

程序運行結果如下:

設備編號0: 溫度=31, 濕度=20, 轉速=1000
設備編號1: 溫度=30, 濕度=22, 轉速=998
設備編號2: 溫度=32, 濕度=23, 轉速=1005

寫入csv文件

假設我們現在要創建一個csv文件,將數據保存為如下形式:

如何用Python處理CSV文件

使用csv.writer寫入數據

# 導入 csv 庫
import csv

# 創建列表,保存header內容
header_list = ["設備編號", "溫度", "濕度", "轉速"]

# 創建列表,保存數據
data_list = [
    [0, 31, 20, 1000],
    [1, 30, 22, 998],
    [2, 32, 33, 1005]
]

# 以寫方式打開文件。注意添加 newline="",否則會在兩行數據之間都插入一行空白。
with open("new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f:
    
    # 基于打開的文件,創建 csv.writer 實例
    writer = csv.writer(f)

    # 寫入 header。
    # writerow() 一次只能寫入一行。
    writer.writerow(header_list)

    # 寫入數據。
    # writerows() 一次寫入多行。
    writer.writerows(data_list)

使用csv.DictWriter寫入數據

# 導入 csv 庫
import csv

# 創建 header 列表
header_list = ["設備編號", "溫度", "濕度", "轉速"]

# 創建數據列表,列表的每個元素都是字典
data_list = [
    {"設備編號": "0", "溫度": 31, "濕度": 20, "轉速": 1000},
    {"設備編號": "1", "溫度": 30, "濕度": 22, "轉速": 998},
    {"設備編號": "2", "溫度": 32, "濕度": 23, "轉速": 1005},
]

# 以寫方式打開文件。注意添加 newline="",否則會在兩行數據之間都插入一行空白。
with open("new_data.csv", mode="w", encoding="utf-8-sig", newline="") as f:
    
    # 基于打開的文件,創建 csv.DictWriter 實例,將 header 列表作為參數傳入。
    writer = csv.DictWriter(f, header_list)

    # 寫入 header
    writer.writeheader()

    # 寫入數據
    writer.writerows(data_list)

關于寫入,需要注意:

  • 在打開文件時,需要添加newline = ""。否則,會在每2行有效內容之間添加一行空白。

  • 如果要保存的內容有中文,而且之后需要用Excel打開文件,那么需要選用utf-8-sig編碼。如果使用utf-8編碼,會導致使用Excel查看文件時中文亂碼。

到此,關于“如何用Python處理CSV文件”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新邵县| 龙井市| 岐山县| 杂多县| 宁晋县| 晋州市| 仁布县| 丰都县| 拜泉县| 芒康县| 泰安市| 巴青县| 阿拉善盟| 长寿区| 广平县| 双峰县| 体育| 西城区| 军事| 景德镇市| 武陟县| 安西县| 喀喇| 泸水县| 民和| 车险| 丰宁| 永和县| 河间市| 旬阳县| 龙州县| 远安县| 手游| 保靖县| 南皮县| 康保县| 广元市| 丰城市| 嘉义县| 宣城市| 咸阳市|