# -*- coding: utf-8 -*- # @Time : 2018/12/27 11:22 # @Author : zhangxinxin # @Email : 778786617@qq.com # @Software: PyCharm """ CSV(Comma-Separated Values)即逗號分隔值,能夠用Excel打開查看。因爲是純文本,任何編輯器也均可打開。與Excel文件不一樣,CSV文件中: 值沒有類型,全部值都是字符串 不能指定字體顏色等樣式 不能指定單元格的寬高,不能合併單元格 沒有多個工做表 不能嵌入圖像圖表 在CSV文件中,以,做爲分隔符,分隔兩個單元格。像這樣a,,c表示單元格a和單元格c之間有個空白的單元格。依此類推。 不是每一個逗號都表示單元格之間的分界。因此即便CSV是純文本文件,也堅持使用專門的模塊進行處理。Python內置了csv模塊。 """ import csv def reader_writer(): # 文件的讀取 filename = r'test.csv' with open(filename) as f: reader = csv.reader(f) # 不能直接打印出想看到的內容, 最外層是list # eg: print(reader) = <_csv.reader object at 0x000001FEA7A66C78> # print(list(reader)) for row in reader: print(reader.line_num, row) # f.close() # 數據的寫入 # 能夠寫入一行或多行 datas = [['你是誰', '我是小愛'] , ['你在哪', '你在幹什麼']] with open('test.csv', 'a', newline='') as f: # 默認打開當前項目文件夾下, 若無則建立, 可指定路徑 writer = csv.writer(f) for row in datas: writer.writerow(row) # 寫入多行數據 # writer.writerows(datas) def Dict_reader_writer(): """DictReader和DictWriter對象""" filename = 'test2.csv' headers = ['name', 'age'] datas = [{'name': 'Bob', 'age': 23}, {'name': 'Jerry', 'age': 44}, {'name': 'Tom', 'age': 15} ] with open(filename, 'a', newline='') as f: writer = csv.DictWriter(f, headers) writer.writeheader() for row in datas: writer.writerow(row) with open(filename) as f: reader = csv.DictReader(f) for row in reader: name = row['name'] age = row['age'] print(name, age) if __name__ == '__main__': Dict_reader_writer()