-
open函数保存
使用with open()新建对象
写入数据(这里使用的是爬取豆瓣读书中一本书的豆瓣短评作为例子)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import requests
from lxml import etree
#发送Request请求url = \'https://book.douban.com/subject/1054917/comments/\'
head = {\'User-Agent\':\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36\'}
#解析HTMLr = requests.get(url, headers=head)
s = etree.HTML(r.text)
comments = s.xpath(\'//div[@class="comment"]/p/text()\')
#print(str(comments))#在写代码的时候可以将读取的内容打印一下#保存数据open函数with open(\'D:/PythonWorkSpace/TestData/pinglun.txt\',\'w\',encoding=\'utf-8\') as f:#使用with open()新建对象f
for i in comments:
print(i)
f.write(i+\'\n\')#写入数据,文件保存在上面指定的目录,加\n为了换行更方便阅读
|
这里指的注意的是: open函数的打开模式
| 参数 | 用法 |
|---|---|
| r | read只读。若不存在文件会报错。 |
| w | write只写。若不存在文件会自动新建。 |
| a | apend附加到文件末尾。 |
| rb, wb, ab | 操作二进制 |
| r+ | 读写模式打开 |
-
pandas包保存
说道Pandas不得不说一下与之相关的两个数据分析工具包(注意:pandas 、numpy和matplotlib都需要事先安装,详细安装可见之前的博文关于pip方式安装包)
- numpy: (Numerical Python的简称),是高性能科学计算和数据分析的基础包
- pandas:基于Numpy创建的Python包,含有使数据分析工作变得更加简单的高级数据结构和操作工具
-
matplotlib:是一个用于创建出版质量图表的绘图包(主要是2D方面)123
importpandas as pd#导入pandasimportnumpy as np#导入numpyimportmatplotlib.pypolt as plt#导入matplotlib
接下来就演示pandas保存数据到CSV和Excel
|
1
2
3
4
5
6
7
8
9
10
|
#导入包import pandas as pdimport numpy as np
df = pd.DataFrame(np.random.randn(10,4))#创建随机值
#print(df.head(2))#查看数据框的头部数据,默认不写为前5行,小于5行时全部显示;也可以自定义查看几行print(df.tail())##查看数据框的尾部数据,默认不写为倒数5行,小于5行时全部显示;也可以自定义查看倒数几行
df.to_csv(\'D:/PythonWorkSpace/TestData/PandasNumpy.csv\')#存储到CSV中
#df.to_excel(\'D:/PythonWorkSpace/TestData/PandasNumpy.xlsx\')#存储到Excel中(需要提前导入库 pip install openpyxl) |
实例中保存豆瓣读书的短评代码如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import requests
from lxml import etree
#发送Request请求url = \'https://book.douban.com/subject/1054917/comments/\'
head = {\'User-Agent\':\'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36\'}
#解析HTMLr = requests.get(url, headers=head)
s = etree.HTML(r.text)
comments = s.xpath(\'//div[@class="comment"]/p/text()\')
#print(str(comments))#在写代码的时候可以将读取的内容打印一下\'\'\'#保存数据open函数with open(\'D:/PythonWorkSpace/TestData/pinglun.txt\',\'w\',encoding=\'utf-8\') as f:#使用with open()新建对象f for i in comments:
print(i)
f.write(i+\'\n\')#写入数据,文件保存在上面指定的目录,加\n为了换行更方便阅读
\'\'\'#保存数据pandas函数 到CSV 和Excelimport pandas as pd
df = pd.DataFrame(comments)
#print(df.head())#head()默认为前5行df.to_csv(\'D:/PythonWorkSpace/TestData/PandasNumpyCSV.csv\')
#df.to_excel(\'D:/PythonWorkSpace/TestData/PandasNumpyEx.xlsx\') |