• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用pandas生成/读取csv文件的方法实例

    前言

    csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看。

    先引入pandas库

    import pandas as pd

    方法一:

    1、我构造了一个cont_list,结构为列表嵌套字典,字典是每一个样本,类似于我们爬虫爬下来的数据的结构

    2、利用pd.DataFrame方法先将数据转换成一个二维结构数据,如下方打印的内容所示,cloumns指定列表,列表必须是列表

    3、to_csv方法可以直接保存csv文件,index=False表示csv文件不加行序号

    保存csv结果

    应用到我们的爬虫代码,传入的con_list就是[{},{},{}****]这样的额数据结构,encoding="utf_8_sig",encoding="gb18030”,我这边解决中文编码问题

    是不是很方便就,2行代码即可搞定保存,是不是比上次讲的方法简单好多,其实很多方法,还有python的优秀库,都使python这门语言在数据分析领域有极大的优势

    方法二:

    流程:模拟登录→获取Html页面→正则解析所有符合条件的行→逐一将符合条件的行的所有列存入到CSVData[]临时变量中→写入到CSV文件中

    核心代码:

    ####写入csv文件中
     
    with open(self.CsvFileName, 'wb') as csvfile:
     
    spamwriter = csv.writer(csvfile, dialect='excel')
     
    #设置标题
     
    spamwriter.writerow(["游戏账号","用户类型","游戏名称","渠道","充值类型","充值金额","返利金额","单号","日期"])
     
    #将CsvData中的数据循环写入到CsvFileName文件中
     
    for item in self.CsvData:
     
    spamwriter.writerow(item)

    完整代码:

    # coding=utf-8
     
    import urllib
     
    import urllib2
     
    import cookielib
     
    import re
     
    import csv
     
    import sys
     
     
    class Pyw():
     
    #初始化数据
     
    def __init__(self):
     
    #登录的Url地址
     
    self.LoginUrl="http://v.pyw.cn/login/check"
     
    #所要获取的Url地址
     
    self.PageUrl="http://v.pyw.cn/Data/accountdetail/%s"
     
    # 传输的数据:用户名、密码、是否记住用户名
     
    self.PostData = urllib.urlencode({
     
    "username": "15880xxxxxx",
     
    "password": "a123456",
     
    "remember": "1"
     
    })
     
    #第几笔记录
     
    self.PageIndex=0;
     
    #循环获取共4页内容
     
    self.PageTotal=1
     
    #正则解析出tr
     
    self.TrExp=re.compile("(?isu)tr[^>]*>(.*?)/tr>")
     
    #正则解析出td
     
    self.TdExp = re.compile("(?isu)td[^>]*>(.*?)/td>")
     
    #创建cookie
     
    self.cookie = cookielib.CookieJar()
     
    #构建opener
     
    self.opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie))
     
    #解析页面总页数
     
    self.Total=4
     
    #####设置csv文件
     
    self.CsvFileName="Pyw.csv"
     
    #####存储Csv数据
     
    self.CsvData=[]
     
     
    #解析网页中的内容
     
    def GetPageItem(self,PageHtml):
     
    #循环取出Table中的所有行
     
    for row in self.TrExp.findall(PageHtml):
     
    #取出当前行的所有列
     
    coloumn=self.TdExp.findall(row)
     
    #判断符合的记录
     
    if len(coloumn) == 9:
     
    # print "游戏账号:%s" % coloumn[0].strip()
     
    # print "用户类型:%s" % coloumn[1].strip()
     
    # print "游戏名称:%s" % coloumn[2].strip()
     
    # print "渠道:%s" % coloumn[3].strip()
     
    # print "充值类型:%s" % coloumn[4].strip()
     
    # print "充值金额:%s" % coloumn[5].strip().replace("¥", "")
     
    # print "返利金额:%s" % coloumn[6].strip().replace("¥", "")
     
    # print "单号:%s" % coloumn[7].strip()
     
    # print "日期:%s" % coloumn[8].strip()
     
    #拼凑行数据
     
    d=[coloumn[0].strip(),
     
    coloumn[1].strip(),
     
    coloumn[2].strip(),
     
    coloumn[3].strip(),
     
    coloumn[4].strip(),
     
    coloumn[5].strip().replace("¥", ""),
     
    coloumn[6].strip().replace("¥", ""),
     
    coloumn[7].strip(),
     
    coloumn[8].strip()]
     
    self.CsvData.append(d)
     
     
    #模拟登录并获取页面数据
     
    def GetPageHtml(self):
     
    try:
     
    #模拟登录
     
    request=urllib2.Request(url=self.LoginUrl,data=self.PostData)
     
    ResultHtml=self.opener.open(request)
     
    #开始执行获取页面数据
     
    while self.PageTotal=self.Total:
     
    #动态拼凑所要解析的Url
     
    m_PageUrl = self.PageUrl % self.PageTotal
     
    #计算当期第几页
     
    self.PageTotal = self.PageTotal + 1
     
    #获取当前解析页面的所有内容
     
    ResultHtml=self.opener.open(m_PageUrl)
     
    #解析网页中的内容
     
    self.GetPageItem(ResultHtml.read())
     
     
    ####写入Csv文件中
     
    with open(self.CsvFileName, 'wb') as csvfile:
     
    spamwriter = csv.writer(csvfile, dialect='excel')
     
    #设置标题
     
    spamwriter.writerow(["游戏账号","用户类型","游戏名称","渠道","充值类型","充值金额","返利金额","单号","日期"])
     
    #将CsvData中的数据循环写入到CsvFileName文件中
     
    for item in self.CsvData:
     
    spamwriter.writerow(item)
     
     
    print "成功导出CSV文件!"
     
    except Exception,e:
     
    print "404 error!%s" % e
     
    #实例化类
     
    p=Pyw()
     
    #执行方法
     
    p.GetPageHtml()

    导出结果

    读取CSV

    import pandas as pd
    
    data = pd.read_table('地址', sep=",")['网址'].values
    
    print(data[1])
    

    总结

    到此这篇关于使用pandas生成/读取csv文件的文章就介绍到这了,更多相关pandas生成读取csv文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • 使用pandas读取csv文件的指定列方法
    • Python Pandas批量读取csv文件到dataframe的方法
    • 使用实现pandas读取csv文件指定的前几行
    • 解决pandas使用read_csv()读取文件遇到的问题
    • pandas读取CSV文件时查看修改各列的数据类型格式
    • 利用Pandas读取文件路径或文件名称包含中文的csv文件方法
    • pandas读取csv文件,分隔符参数sep的实例
    • 解决Python中pandas读取*.csv文件出现编码问题
    • python pandas读取csv后,获取列标签的方法
    • Pandas读写CSV文件的方法示例
    上一篇:python自动化八大定位元素讲解
    下一篇:python利用pandas分析学生期末成绩实例代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    使用pandas生成/读取csv文件的方法实例 使用,pandas,生成,读取,csv,