爬虫:CSV文件存储

CSV,全称为 Comma-Separated Values ,中文可以叫作逗号分隔值或字符分隔值,其文件以纯文 本形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分隔,每条记录由字段组成,字段间的分隔符是其他字符或字符串,最常见的是逗号或制表符, 不过所有记录都有完全相同的字段序列 ,相当于一个结构化表的纯文本形式, 它比 Excel 文件更加简介, XLS 文本是电子表格,它包含了文本、数值、公式和格式等内容,而 CSV 中不包含这些 容,就是特定字符分割的纯文本,结构简单清晰,所以,有时候用CSV来保存数据是比较方便的

目录

1、写入

2、读取


1、写入

import csv

with open("data.csv","w") as fd:
    writer = csv.writer(fd)
    writer.writerow(['id','name','age'])
    writer.writerow(['1001','Kike','20'])
    writer.writerow(['1002','Bod','29'])
    writer.writerow(['1003','Jon','16'])

调用csv库的writer() 方法初始化写入对象,传入句柄,然后调用writerow() 方法传入每行的数据即可完成写入,默认是以,都好分割

 

修改列于列的分隔符,可以传入delimiter参数

用空白来分割字符键的间距

import csv

with open("data.csv","w") as fd:
    writer = csv.writer(fd,delimiter=" ")
    writer.writerow(['id','name','age'])
    writer.writerow(['1001','Kike',20])
    writer.writerow(['1002','Bod',29])
    writer.writerow(['1003','Jon',16])

结果 

 写入多行writerows()  方法同时写入多行

参数就需要要求二维列表

import csv

with open("data.csv","w") as fd:
    writer = csv.writer(fd)
    writer.writerow(['id','name','age'])
    writer.writerows([['1001','Kike',20],['1002','Bod',29],['1003','Jon',16]])

结果:

 字典方式写入CSV文件

import csv

with open("data.csv","w") as fd:
    fieldnames=['id','name','age']
    writer = csv.DictWriter(fd,fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({'id':1001,'name':'Kike','age':20})
    writer.writerow({'id':1002,'name':'Bod','age':18})
    writer.writerow({'id':1003,'name':'Jon','age':16})


DictWriter来初始化一个字典写入对象,接着调用writeheader()  方法先写入头信息,然后在调用writerow()  方法传入相应的字典

结果:

2、读取

import csv

with open("data.csv") as fd:
    reader = csv.reader(fd)
    for fow in reader:
        print(fow)

结果:
['id', 'name', 'age']
['1001', 'Kike', '20']
['1002', 'Bod', '18']
['1003', 'Jon', '16']
['1003', '香茗', '16']

 构造reader对象,遍历读取每行的内容

使用pandas读取CSV文件

import pandas as pd

df = pd.read_csv("data.csv")
print(df)

结果:
     id  name  age
0  1001  Kike   20
1  1002   Bod   18
2  1003   Jon   16
3  1003    香茗   16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值