網絡爬蟲--27.csv文件的讀取和寫入

一. csv文件

在這裏插入圖片描述

二. 讀取csv文件的兩種方式

import csv

def read_csv_demo1():
    with open('classroom1.csv','r',encoding='utf-8',newline='') as fp:
        # reader是一個迭代器
        reader = csv.reader(fp)
        next(reader)
        for x in reader:
            username = x[0]
            height = x[2]
            print({'username':username,'height':height})


def write_csv_demo2():
    with open('classroom2.csv','r',encoding='utf-8',newline='') as fp:
        #使用DictReader創建的reader對象,不會包含標題那行的數據
        #reader是一個迭代器,遍歷這個迭代器,返回來一個字典
        reader = csv.DictReader(fp)
        for x in reader:
            value = {'username':x['username'],'height':x['height']}
            print(value)

if __name__ == '__main__':
    # read_csv_demo1()
    write_csv_demo2()

三. 寫入csv文件的兩種方式

import csv

def write_csv_demo1():
    headers = ['username','age','height']
    values = [
        ('張三', 18, 180),
        ('李四', 19, 190),
        ('王五', 20, 170)
    ]
    with open('classroom1.csv','w',encoding='utf-8',newline='') as fp:
        write = csv.writer(fp)
        write.writerow(headers)
        write.writerows(values)

def write_csv_demo2():
    headers = ['username','age','height']
    values = [
        {'username':'張三', 'age': 18, 'height': 180},
        {'username':'李四', 'age': 19, 'height': 190},
        {'username':'王五', 'age': 20, 'height': 170}
    ]
    with open('classroom2.csv','w',encoding='utf-8',newline='') as fp:
        writer = csv.DictWriter(fp,headers)
        #寫入表頭數據的時候,需要調用writeheader方法
        writer.writeheader()
        writer.writerows(values)

if __name__ == '__main__':
    # write_csv_demo1()
    write_csv_demo2()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章