[python爬虫之路y10]:爬虫之数据存储json,csv,excel

本文介绍了爬虫数据存储的三种常见方式:JSON、CSV和Excel文件存储。详细讲解了JSON和CSV的使用方法,包括数据格式、写入和读取操作。通过Python代码示例,演示了如何将爬取的数据存储为JSON和CSV文件。

今天我们来学习对爬取到的数据进行存储。
三种方式:1.json,2.csv,3.excel文件存储
一.json
1.支持数据格式
a.对象(字典) 使用 {}
b.数组(列表)使用 []
c.整形,浮点型,null,布尔类型
d.字符串类型(必须使用双引号)
注意:本质就是字符串
‘’‘
pyth

二.CSV
csv泛指具有以下特征的任何文件:
1.纯文本,使用某个字符串(ASCII)等;
2.由记录组成。(每行一条记录)
3.每条记录被分隔成字段
4.每条记录都有同样的字段序列。

import json
import csv
'''
pythons=[{'username':'小皮','age':'1','city':'zhen'},{'username':'皮','age':'18','city':'zhe8n'},{'username':'小','age':'71','city':'zhgen'},]
json_str=json.dumps(pythons,ensure_ascii=False)#dumps函数将其转换成字符串
#print(type(json_str))
#print(json_str)
#dump直接写入,示例如下:
with open("1st.json","w",encoding='utf-8')as fp:
    #json.dump(pythons,fp,ensure_ascii=False)#ensure_ascii=False可以进行不编码写入,默认是true
    fp.write(json_str)#两者等价
#dump,dumps只有基本数据类型才能转换,元组,列表,字典等。

#写入csv文件的两种方式
def write_csv_demo1():
    headers = ['username', 'agr', 'city']
    value = [
        {'sd', '23', 'sz'},
        {'sadc', '234', 'b申j'},
        {'sdfg', '234', 'sh'}
    ]
    with open('cadf.csv', 'w', encoding='utf-8', newline='')as fp:
        writer = csv.writer(fp)
        writer.writerow(headers)
        writer.writerows(value)
def write_csv_demo2():
    headers = ['username', 'agr', 'city']
    value = [{'username':"ads是", 'agr':"22", 'city':"wdcs"},{'username':"ad", 'agr':'33', 'city':"wdfdcs"},{'username':"adsafsd", 'agr':"12", 'city':"cs"}
]
    with open('cad1.csv', 'w', encoding='utf-8', newline='')as fp:
        writer=csv.DictWriter(fp,headers)
        #写入表头时需要调用writeheader方法
        writer.writeheader()
        writer.writerows(value)
if __name__ == '__main__':
    write_csv_demo2()
'''
#读取csv文件的两种方式
def read_csv_demo1():
    with open('cadf.csv','r')as fp:
        reader=csv.reader(fp)
        #reader是个迭代器
        for x in reader:
            name=x[1]
            city=x[-1]
            print(name,city)
def read_csv_demo2():
    with open('cadf.csv','r')as fp:
        #使用DictReader创建的reader,不含标题行的数据
        #reader是一个迭代器,遍历后是个字典
        reader=csv.DictReader(fp)
        for x in reader:
            value=x["city"]
            print(value)
            print(x)
if __name__ == '__main__':
    read_csv_demo2()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值