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