ICode9

精准搜索请尝试: 精确搜索
首页 > 互联网> 文章详细

Python 保存数据的方法(4种方法)

2018-10-30 21:43:48  阅读:584  来源: 互联网

标签:


使用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 、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')

  

待续....

待续...

标签:
来源: https://www.cnblogs.com/PeterZhang1520389703/p/8205965.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有