08-爬虫数据存取-CSV文件格式处理

四种数据存储部分:
1.JSON文件格式处理
2.CSV文件格式处理
3.Excel文件处理
4.MySQL数据库处理

 

CSV模块:

CSV(逗号分隔符)文件是表格与数据库操作之中最常用的输入输出格式。在RFC4180中的文件描述标准对CSV格式进行规范之前,CSV格式文件就已经被应用了很多年了。

Python中的CSV模块之中实现了读写CSV格式文件的一些类,他可以让你的程序以一种更容易被Excel处理的格式来输出或者读入数据。

注意

csv库是python自带的标准库,无需安装,直接可以用import csv

 

相关文档:

链接:https://pan.baidu.com/s/1ArFGe10lsa9haFGUjqZubw
提取码:o8gp
复制这段内容后打开百度网盘手机App,操作更方便哦

 

1.读取csv文件的两种方式:
1>csv.reader()函数:这种方式读取到的每一条数据是一个列表,所以需要通过下标的方式获取具体某一个值
2>csv.DictReader()函数:这种方式读取到的每一条数据是要给字典,所以可以通过列名key值获取数据

# 读取csv文件的两种方式

import csv

# 1.csv.reader(),返回数据类型是迭代器<class '_csv.reader'>,每一个迭代器里面是列表存储的
with open(r"F:/爬虫/第四章-爬虫数据存储/stock.csv","r",encoding="gbk") as fp:
    reader = csv.reader(fp)
    print("-------------------csv.reader()函数:--------------------")
    for x in reader:
        # print(x)
        print(x[3],end=" ")
        
# 2.csv.DictReader(),返回数据类型是迭代器<class '_csv.reader'>,每一个迭代器里面是字典存储的
with open(r"F:/爬虫/第四章-爬虫数据存储/stock.csv","r",encoding="gbk") as fp2:
    reader = csv.DictReader(fp2)
    print("\n-----------------csv.DictReader()函数-----------------:")
    for y in reader:
        # print(y)
        print(y["secShortName"],end=" ")

2.写入csv文件的两种方式:
1>writerow函数:使用列表或元组的方式把数据写入到csv文件
2>DictWriter函数:使用字典的方式把数据写入到csv文件

# 写入csv文件的两种方式

import csv

headers = ["name","age","height"]
student = [
    ["东方月初",20,180],
    ["涂山红红",23,168]
]

# 1.writerow函数,写入数据到csv文件
# (newline=""消除空行,这是因为之间写入文件时是f.write("name,age,height\n")指定换行\n,因此不会产生多余空行)
with open(r"F:/爬虫/第四章-爬虫数据存储/student1.csv","w",encoding="gbk",newline="") as fp:
    print("正在使用writerow函数写入文件F:/爬虫/第四章-爬虫数据存储/student1.csv...")
    
    writer = csv.writer(fp)
    # writerow写入一行(标题)
    writer.writerow(headers)
    # writerows写入多行(内容)
    writer.writerows(student)
    
    print("写入成功!")
    
headers = ["name","age","height"]
student = [
    {"name":"王权富贵","age":21,"height":183},
    {"name":"清瞳","age":23,"height":160}
]

# 2.DictWriter函数,使用字典的方式把数据写入进去
with open(r"F:/爬虫/第四章-爬虫数据存储/student2.csv","w",encoding="gbk",newline="") as fp2:
    print("\n正在使用DictWriter函数写入文件F:/爬虫/第四章-爬虫数据存储/student2.csv...")
    
    writer = csv.DictWriter(fp2,headers)
    # writeheader写入表头(标题)
    # 虽然DictWriter创建的时候有一个headers,但是想要写入表头数据进去,还是需要调用 writer.writeheader()方法
    writer.writeheader()
    # writerow写入一行
    writer.writerow({"name":"颜如玉","age":20,"height":178})
    # writerows写入多行
    writer.writerows(student)
    
    print("写入成功!")

 

posted @ 2021-03-09 18:59  马铃薯1  阅读(439)  评论(0编辑  收藏  举报