Python 保存数据的方法:


  • 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' }
 
#解析HTML
=  requests.get(url, headers = head)
=  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  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方面)
    1
    2
    3
    import  pandas as pd  #导入pandas
    import  numpy as np  #导入numpy
    import  matplotlib.pypolt as plt  #导入matplotlib  

接下来就演示pandas保存数据到CSV和Excel

1
2
3
4
5
6
7
8
9
10
#导入包import pandas as pd
import  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' }
 
#解析HTML
=  requests.get(url, headers = head)
=  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 和Excel
import  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')


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM