网络爬虫--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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章