Python 保存數據的方法(4種方法)


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包保存

待續...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM