python爬虫系列(4.2-python操作csv文件)

一、关于csv文件的介绍

CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。由于是纯文本,任何编辑器也都可打开。与Excel文件不同,CSV文件中:

值没有类型,所有值都是字符串

不能指定字体颜色等样式

不能指定单元格的宽高,不能合并单元格

没有多个工作表

不能嵌入图像图表

打开方式:

直接用Excel打开,看起来是表格

用记事本或者编辑器打开就是一坨用<font color="#f00">,</font>分开的字符

二、关于使用python读取csv文件

1、导包(不需要安装)

import csv

2、全部读取出来

filename = 'test.csv'

with open(filename) as f:

    reader = csv.reader(f)

    # 列表的方式

    print(list(reader))

3、逐行读取数据

import csv

with open('test.csv') as f:

    reader = csv.reader(f)

    # 读取一行,下面的reader中已经没有该行了

    header_row = next(reader)

    for row in reader:

        print(reader.line_num, row)

三、写入文件

1、单行写入文件

import csv

datas = [

    ['name', 'age'],

    ['张三', 20],

    ['李四', 30]

]

with open('test1.csv', 'w', newline='', encoding='utf8') as f:

    writer = csv.writer(f)

    for row in datas:

        writer.writerow(row)

2、结果显示

name,age

张三,20

李四,30

3、多行写入

import csv

datas = [

    ['name', 'age'],

    ['张三', 20],

    ['李四', 30],

    ['王五', 18]

]

with open('test2.csv', 'w', newline='', encoding='utf8') as f:

    writer = csv.writer(f)

    writer.writerows(datas)

四、使用DictReader和DictWriter对象来操作

使用DictReader可以像python中字典一样的操作数据

1、使用DictReader读取数据

import csv

with open('test.csv') as f:

    reader = csv.DictReader(f)

    # 先读取标题

    next(reader)

    for row in reader:

        print(row['mobile'])

2、写入文件

import csv

headers = ['name', 'age']

datas = [

    {'name': '张三', 'age': 20},

    {'name': '李四', 'age': 30},

    {'name': '王五', 'age': 24}

]

with open('test3.csv', 'w', newline='', encoding='utf8') as f:

    writer = csv.DictWriter(f, headers)

    # 写入头部

    writer.writeheader()

    # 一次性全部写入

    writer.writerows(datas)

猜你喜欢

转载自blog.csdn.net/qq_40925239/article/details/83902628