爬虫数据的存储----TXT JSON CSV 数据库

一:TXT文件

open(文件名,打开方式,编码方式)

打开方式:

 

TXT实例:

f = open("a.txt","w",encoding = "utf-8") 

********

执行文件的读写操作

********

f.close()#最容易忘记的一步


另一种方式不需要需要写 close()的操作

with open ("a.txt","w",encoding = "utf-8") as fp:

********

执行文件的读写操作

********

不要需要写f.close(),程序会自动关闭文件

 二:JSON文件存储

 什么是JSON,请看这——什么是JSON

下面我们来介绍python如何来操作JSON文件的读写操作,这个过程需要用到python提供的json库

JSON库中主要有4种方法:

json.loads(str)------把str转换成JSON类型的数据

json,load(f)------把文件f中的字符串转换成JSON类型的数据,便于后续的处理

json,dumps(JSON类型数据)------把JSON类型的数据转化成字符串

json.dump(JSON类型数据,f)把JSON类型的数据转化成str并写入文件f中

其本质就是:

load函数------把str转化成JSON

dump函数------把JSON转化成str

要注意的几点问题:

******写入文件的的数据类型都是str!!!

******JSON的数据需要用双引号来包围,不能使用单引号,也就是说,当使用loads函数时的str中的数据必须用单引号包围,否则就会报错!!!

JSON实例:

**************数据的读取***************
import json

str = """[

{

"name":"yanzhiguo"
"age":20
}

]"""

data = json.loads(str)#把字符串转换成JSON数据
也可以讲文件里的字符串直接转换位JSON的数据类型,便于后续的操作
***************************************

***************数据的写入***************

list_a = [

{

"name":"yanzhiguo"
"age":20
}

]

str_a = json.dumps(list_a)#将字符串转换成JSON类型的数据

可以直接写入文件

三:CSV存储

 什么是CSV???------请看什么是CSV

在我看来,csv就是简化的excel表格

python提供了CSV的标准库

import csv   就能用了

下面介绍csv的几种用法

一:写入

csv.writerow()----------写入一行数据

csv.writerrows()----------写入多行数据

二:读取

csv.reader()----------读入,此时的reader是一个迭代器,可以使用for循环来遍历它

实例:

写入方法一:

import csv

with open("data.csv","w",encoding="utf-8") as f:
    #将文件句柄传入csv的writer的方法,生成实例对象
    #delimiter参数代表的是 列的列之间的字符
    writer = csv.writer(f,delimiter = " ")
    writer.writerow(["id","name","age"])
    writer.writerow(["1001","yan","20"])
    writer.writerow(["1002","zhi","21"])

用记事本打开为:

写入方法二:

import csv

with open("data.csv","w",encoding="utf-8") as f:
    #构造文件的字段
    head = ["id","name","age"]
    #使用字典的方式写入文件
    writer = csv.DictWriter(f,fieldnames = head)
    #必须要写这一句话,目的是将字段名写入文件
    writer.writeheader()
    #把数据写入文件
    writer.writerow({"id":"1001","name":"yan","age":"20"})
    writer.writerow({"id":"1002","name":"zhi","age":"21"})

 结果是:

 读取方法一:

import csv
with open("data.csv","r",encoding="utf-8") as f:
    reader = csv.reader(f)
    for item in reader:
            print(item)

结果是:

又查了资料得到:资料链接

 原因是: with open(birth_weight_file, “w”, newline=” “) as f: 这个语句。表示写入csv文件,如果不加上参数 newline=” ”表示以空格作为换行符,而是用 with open(birth_weight_file, “w”) as f: 语句。则生成的表格中会出现空行。
解决了这个问题之后,还有读取方法二:

import csv

with open("data.csv","r",encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for item in reader:
            print(item)
            print(item["id"]) 

结果是:

到这里,CSV文件就结束了

四:数据库存储

 我用的是MySQL,还有nacivat,在我的上一篇博客中有提到如何安装nacivat,有兴趣的可以看一下。

然后就是下载 pymysql的库---- pip install pymysql 

zuizuizuizuizuizui重要的一点——必须会数据库的基本操作,SQL语句

这样使用起来得心应手!!!

具体的python操作MySQL数据库我也在学习中,志同道合的小伙伴可以一起交流啊!!!

猜你喜欢

转载自blog.csdn.net/yanzhiguo98/article/details/86601881