CSV(Comma-Separated Values)即逗號分隔值,能夠用Excel打開查看。因爲是純文本,任何編輯器也均可打開。與Excel文件不一樣,CSV文件中:數組
值沒有類型,全部值都是字符串,不能指定字體顏色等樣式,不能指定單元格的寬高,不能合併單元格沒有多個工做表,不能嵌入圖像圖表編輯器
在CSV文件中,以,做爲分隔符,分隔兩個單元格。像這樣a,,c表示單元格a和單元格c之間有個空白的單元格。依此類推。字體
不是每一個逗號都表示單元格之間的分界。因此即便CSV是純文本文件,也堅持使用專門的模塊進行處理。Python內置了csv模塊。先看看一個簡單的例子。編碼
1 import csv 2 data =[ 3 #使用數字和字符串的數字均可以 4 ("ken","mafe",23), 5 ("Tame","maee",29), 6 ("Js","dggd",26)] 7 with open("d://test.csv",'w',newline='')as t_file: 8 csv_writer = csv.writer(t_file) 9 for l in data: 10 csv_writer.writerow(l)
第二步運行py文件以後,咱們能夠看到d盤已經建立了test.csv文件,以下圖所示:spa
第三步打開test.csv文件,能夠看到已經將內容寫入到csv文件中了:3d
上面就簡單介紹了csv的寫,下面來看一下csv讀的方法:excel
第一步,輸入code
1 import csv 2 reader =csv.reader(open('d://test.csv'))#打開 3 for list in reader: 4 print(list)
在寫入字典序列類型數據的時候,須要傳入兩個參數,一個是文件對象——f,一個是字段名稱——fieldnames,到時候要寫入表頭的時候,只須要調用writerheader方法,寫入一行字典系列數據調用writerrow方法,並傳入相應字典參數,寫入多行調用writerows
1 import csv 2 header=['name','age'] 3 data =[ 4 {'name':'mafe','age':23}, 5 {'name':'maee','age':29}, 6 {'name':'dggd','age':26}] 7 with open("d:\\test.csv",'w',newline='')as t_file: 8 #表頭在這裏傳入,做爲第一行數據 9 writer = csv.DictWriter(t_file,header) 10 writer.writeheader() 11 for l in data: 12 writer.writerow(l)
再打開test.csv結果以下:
假設csv文件的內容如上圖圖所示,用DictReader來讀取它
DictReader會將第一行的內容(類標題)做爲key值,第二行開始纔是數據內容。即圖中的csv文件有2列4行數據,第一列的key值爲name,第二列的key值爲age:
1 import csv 2 with open('d://test.csv',encoding='utf-8')as f: 3 reader =csv.DictReader(f)#字典表 DictReader 列表讀取 4 headers =next(reader)#迭代一次 5 print(headers) 6 for row in reader: 7 print(row)
運行結果以下:
最後提醒一下:
read方法的使用:打印出來的結果是數組類型,有文件中幾行數據就打印幾個數組,不區分表頭和值
DictReader方法的使用:打印出來的數據是字典類型,表格的表頭爲鍵、每一行的值爲值,值有幾行就打印幾個字典