Python 保存數據的方法:
-
open函數保存
使用with open()新建對象
寫入數據(這里使用的是爬取豆瓣讀書中一本書的豆瓣短評作為例子)
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
r = 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方面)
import pandas as pd #導入pandas import numpy as np #導入numpy import matplotlib.pypolt as plt #導入matplotlib
接下來就演示pandas保存數據到CSV和Excel
#導入包
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)
實例中保存豆瓣讀書的短評代碼如下:
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 r = 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 和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')
-
csv模塊保存
待續....
-
numpy包保存
待續...