• 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+' ')#写入数据,文件保存在上面指定的目录,加 为了换行更方便阅读

      这里指的注意的是: 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+' ')#写入数据,文件保存在上面指定的目录,加 为了换行更方便阅读
    '''
     
    #保存数据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')
  • 相关阅读:
    Java 中字符串的格式化
    Awk学习笔记
    Spring任务调度实战之Quartz Simple Trigger
    Subclipse vs. Subversive
    使用OpenSSL生成自用证书
    httpclient处理页面跳转
    巧用TableDiff(转)
    DBCC了解页面结构
    取最新一条SQL优化
    SQL 2008 到 SQL2012的镜像
  • 原文地址:https://www.cnblogs.com/apolloren/p/11168212.html
Copyright © 2020-2023  润新知