Python爬虫学习记录——5.使用pandas保存豆瓣短评数据
原创
©著作权归作者所有:来自51CTO博客作者赈川_Mxt的原创作品,请联系作者获取转载授权,否则将追究法律责任
文章目录
保存数据的方法
- open函数保存
- pandas包保存(重点)
- csv模块保存
- numpy包保存
使用open函数保存数据
- open函数用法
- 使用with open()新建对象
- 写入数据
import requests
from lxml import etree
url = 'https://book.douban.com/subject/1084336/comments/'
r = requests.get(url).text
s = etree.HTML(r)
file = s.xpath('//div[@class="comment"]/p/text()')
with open('pinglun.txt', 'w', encoding='utf-8') as f: #使用with open()新建对象f
for i in file:
print(i)
f.write(i) #写入数据,文件保存在当前工作目录
- 可以使用以下方法得到当前工作目录或者修改当前工作目录
import os
os.getcwd()#得到当前工作目录
os.chdir()#修改当前工作目录,括号中传入工作目录的路径
- open函数的打开模式
参数
| 用法
|
r
| 只读。若不存在文件会报错。
|
w
| 只写。若不存在文件会自动新建。
|
a
| 附加到文件末尾。
|
rb, wb, ab
| 操作二进制
|
r+
| 读写模式打开
|
使用pandas保存数据
- Python数据分析的工具包
- numpy: (Numerical Python的简称),是高性能科学计算和数据分析的基础包
- pandas:基于Numpy创建的Python包,含有使数据分析工作变得更加简单的高级数据结构和操作工具
- matplotlib:是一个用于创建出版质量图表的绘图包(主要是2D方面)
- 常见的导入方法:
import pandas as pd #导入pandas
import numpy as np #导入numpy
import matplotlib.pypolt as plt #导入matplotlib
注意:pandas 、numpy和matplotlib都需要事先安装
- pandas保存数据到Excel
- 导入相关的库
- 将爬取到的数据储存为DataFrame对象(DataFrame 是一个表格或者类似二维数组的结构,它的各行表示一个实例,各列表示一个变量)
- to_excel() 实例方法:用于将DataFrame保存到Excel
df.to_excel('文件名.xlsx', sheet_name = 'Sheet1') #其中df为DataFrame结构的数据,sheet_name = 'Sheet1'表示将数据保存在Excel表的第一张表中
- read_excel() 方法:从excel文件中读取数据
pd.read_excel('文件名.xlsx', 'Sheet1', index_col=None, na_values=['NA'])
- pandas保存数据到csv文件
- 导入相关的库
- 将数据储存为DataFrame对象
- 保存数据到csv文件
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(6,3)) #创建随机值并保存为 DataFrame结构
print(df.head())
df.to_csv('numpppy.csv')
实战
结合之前学习的获取数据、解析数据的知识,爬取《小王子》豆瓣短评的数据,并把数据保存为本地的excel表格
import requests
from lxml import etree
url = 'https://book.douban.com/subject/1084336/comments/'
r = requests.get(url).text
s = etree.HTML(r)
file = s.xpath('//div[@class="comment"]/p/text()')
import pandas as pd
df = pd.DataFrame(file)
df.to_excel('pinglun.xlsx')
注意:如果运行以上程序出现ImportError: No module named ‘openpyxl’错误,那么需要先安装“openpyxl”模块。