• Python3编写网络爬虫10-数据存储方式三-CSV文件存储


    3.CSV文件存储

    CSV 全称 Comma-Separated Values 中文叫做逗号分隔值或者字符分隔值,文件以纯文本形式存储表格数据。
    文件是一个字符序列 可以由任意数目的记录组成相当于一个结构化表的纯文本形式,它比Excel更加简洁,
    XLS文本是电子表格,包含文本,数值,公式和格式等内容,CSV都没有 就是特定的字符分隔纯文本,结构简单清晰。

    3.1 写入

    示例:

    import csv
    
    with open('data.csv','w') as csvfile:
    writer = csv.writer(csvfile)#初始化写入对象
    writer.writerow(['id','name','age'])#传入每行数据
    writer.writerow(['10001','mike',20])
    writer.writerow(['10002','bod',22])
    writer.writerow(['10003','jordan',21])

    更改列与列之间分隔符 可以传入 delimiter参数 记得关闭文件

    示例:

    import csv
    
    with open('data.csv','w') as csvfile:
    writer = csv.writer(csvfile,delimiter=' ')#初始化写入对象
    writer.writerow(['id','name','age'])#传入每行数据
    writer.writerow(['10001','mike',20])
    writer.writerow(['10002','bod',22])
    writer.writerow(['10003','jordan',21])

    同时写入多行 参数为二位列表

    import csv
    
    with open('data.csv','w') as csvfile:
    writer = csv.writer(csvfile)#初始化写入对象
    writer.writerow(['id','name','age'])#传入每行数据
    writer.writerows([['10001','mike',20],['10002','bod',22],['10003','jordan',21]])

    一般情况下 爬虫爬取的都是结构化数据 一般会用字典来表示 csv库也提供了字典的写入方式

    示例:

    import csv
    
    with open('data.csv','w') as csvfile:
    fieldname = ['id','name','age']#定义字段
    writer = csv.DictWriter(csvfile,fieldnames=fieldname)#初始化字典写入对象
    writer.writeheader()#写入头信息
    writer.writerow({'id':'10001','name':'mike','age':20})
    writer.writerow({'id':'10002','name':'bod','age':22})
    writer.writerow({'id':'10003','name':'jordan','age':21})

    输入中文 给 open() 加入参数 encoding='utf-8'

    示例:

    import csv
    
    with open('data.csv','a',encoding='utf-8') as csvfile:
    fieldname = ['id','name','age']#定义字段
    writer = csv.DictWriter(csvfile,fieldnames=fieldname)#初始化字典写入对象
    writer.writerow({'id':'10004','name':'小米','age':20})

    3.2 读取

    示例:

    import csv
    
    with open('data.csv','r',encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
    print(row)

    在做数据分析时此种方法用的比较多,也是一种常用的数据存储方式,需要熟练掌握。

  • 相关阅读:
    Java开发必会的Linux命令
    为什么跳槽加薪会比内部调薪要高?
    程序员跳槽的最佳时机选择
    推荐!国外程序员整理的Java资源大全
    JavaScript最全编码规范
    window.open子窗口获取父窗口的值
    js获取iframe中的元素
    js数组合并为一个字符串
    js中for循环(原生js)
    js字符串截取为数组
  • 原文地址:https://www.cnblogs.com/liuxiaosong/p/10337133.html
Copyright © 2020-2023  润新知