【1】認識CSV文件
CSV是Comma Separated Values的縮寫,它是逗號分隔符文本格式,常用於數據交換、Excel文件和資料庫數據的導入和導出。
鑑於CSV的應用場景,編程人員與它打交道的機會特別多,所以有必要熟悉其特有的屬性。
另外,CSV文件還可以通過Excel打開,所以有必要了解CSV文件獨特性:
值沒有類型,所有值都是字符串;不能指定字體顏色等樣式;不能指定單元格的寬高,不能合併單元格。沒有多個工作表;不能嵌入圖像圖表。我們看一個Excel打開CSV文件案例:
再看看用文本編輯器打開同一個CSV文件效果:
【2】CSV文件讀取
通過前面的學習,我們已經了解是通過Python的文件對象方法read()或readline()讀取文件內容。
針對CSV文件的特色性,Python專門提供了CSV模塊,有具體的方法支撐文件內容的讀取。
見案例:
# 從 csv 文件讀取數據import csvwith open(r"員工薪水錶.csv") as a:a_csv = csv.reader(a) #創建 csv 對象,它是一個包含所有數據的列表,每一行為一個元素 headers = next(a_csv) #獲得列表對象,包含標題行的信息 print(headers) for row in a_csv: #循環列印各行內容 print(row)
【結論】
CSV文件中每行數據存儲在一個列表中;CSV文件中列則是列表的一個元素。【3】CSV文件寫入
既然CSV模塊提供來讀取方法,肯定也存在寫入方法。
見案例:
# 往CSV文件寫入數據import csvheaders = ["工號","姓名","年齡","地址","月薪"]rows = [("1001","小王",18,"廣州市 1 號院","50000"),\("1002","李八",19,"佛山市 1 號院","30000")]with open(r"員工薪水錶_new.csv","w") as b: b_csv = csv.writer(b) #創建 csv 對象 b_csv.writerow(headers) #寫入一行(標題) b_csv.writerows(rows) #寫入多行(數據)
【結論】
創建了一個新的CSV文件;文件內容就是程序中指定的寫入內容。