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)

    原文作者:七月
    原文地址: https://zhuanlan.zhihu.com/p/49091011
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞