Python CSV文件模块的使用案例分析


Posted in Python onDecember 21, 2019

本文实例讲述了Python CSV文件模块的使用。分享给大家供大家参考,具体如下:

1、CSV模块使用流程

1、导入模块

impport CSV

2、打开文件(xxx.csv)

with open('xxx.csv','a',encoding='utf-8') as f:
  • 1、a和 a+   ‘追加'功能

a  追加写

a+ 追加写读(先写后读)

  • 2、r 和 r+  

r 只读

r+读写,先读后写

  • 3、w,w+

w 只写

w+写读 先写后读

3、初始化写入对象

writer = csv.wirter()

4、写入数据

writer.writerow(['孙悟空', '兰陵王'])

案例:

猫眼电影top10榜单的爬取

1、网址:url

2、目标:爬取自己想要的文件

3、保存本地:csv文件

4、步骤

  • 1、找url规律

第一页:https://maoyan.com/board/4?offset=0

第4页:https://maoyan.com/board/4?offset=30

第n页:offset=(n-1)*10

  • 2、写正则表达式

'<div class="movie-item-info".*?title="(.*?)".*?class="star">(.* ?)</p>.*?class="releasetime">(.*?)</p>',re.S

练习:爬取猫王top10信息

from urllib import request
import re
import time
import csv
class MaoyanSpider(object):
   def __init__(self):
    self.headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"}
    self.page = 1
    # 用来计数
   def get_page(self, url):
    req = request.Request(url, headers=self.headers)
    res = request.urlopen(req)
    html = res.read().decode('utf-8')
    # 直接调用解析函数
    self.parse_page(html)
   def parse_page(self,html):
     p=re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.*?)</p>.*?class="releasetime">(.*?)</p>',re.S)
     #p=re.compile('<div class="movie-item-info">.*?title="(.*?)".*?class="star">(.* ?)</p>.*?class="releasetime">(.*?)</p>',re.S)
     r_list = p.findall(html)
     # 直接调用保存函数
     # r_list:[('霸王别姬','张国荣','1993'),(),()]
     self.write_csv(r_list)
  # 保存数据函数
   def  write_csv(self,r_list):
     with open('猫眼电影top10.csv','a') as f:
      writer = csv.writer(f)
      # 依次写入每个电影信息
      for r_t in r_list:
        film = [
          r_t[0].strip(),
          r_t[1].strip(),
          r_t[2].strip()
          ]
        writer.writerow(film)
  #主函数
   def work_om(self):
     for pn in range(0,41,10):
      url = 'https://maoyan.com/board/4?offset=%s'%str(pn)
      self.get_page(url)
      print('第%d页爬取成功'%self.page)
      self.page += 1
      time.sleep(4)
if __name__ =='__main__':
  begin = time.time()
  spider = MaoyanSpider()
  spider.work_om()
  end = time.time()
  print("执行时间%.2f"%(end - begin))

运行截图:

Python CSV文件模块的使用案例分析

更多Python相关内容感兴趣的读者可查看本站专题:《Python操作Excel表格技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
初学Python实用技巧两则
Aug 29 Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 Python
python爬虫的工作原理
Mar 05 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
详解python读取image
Apr 03 Python
浅谈python 中类属性共享的问题
Jul 02 Python
python中设置超时跳过,超时退出的方式
Dec 13 Python
浅谈keras中的目标函数和优化函数MSE用法
Jun 10 Python
简单的Python人脸识别系统
Jul 14 Python
基于python图书馆管理系统设计实例详解
Aug 05 Python
python安装第三方库如xlrd的方法
Oct 31 Python
PyCharm 安装与使用配置教程(windows,mac通用)
May 12 Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 #Python
Python数据持久化存储实现方法分析
Dec 21 #Python
python cv2截取不规则区域图片实例
Dec 21 #Python
Python lxml模块的基本使用方法分析
Dec 21 #Python
python Manager 之dict KeyError问题的解决
Dec 21 #Python
tornado+celery的简单使用详解
Dec 21 #Python
Python selenium的基本使用方法分析
Dec 21 #Python
You might like
php抓取页面与代码解析 推荐
2010/07/23 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP四舍五入精确小数位及取整
2014/01/14 PHP
PHP对象链式操作实现原理分析
2016/10/09 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JavaScript匿名函数用法分析
2015/02/13 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
浅谈vuejs实现数据驱动视图原理
2018/02/23 Javascript
加快Vue项目的开发速度的方法
2018/12/12 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
python重试装饰器示例
2014/02/11 Python
Python中enumerate函数代码解析
2017/10/31 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
基于Python实现ComicReaper漫画自动爬取脚本过程解析
2019/11/11 Python
python求质数列表的例子
2019/11/24 Python
python使用docx模块读写docx文件的方法与docx模块常用方法详解
2020/02/17 Python
Python如何使用OS模块调用cmd
2020/02/27 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
HTML5进度条特效
2014/12/18 HTML / CSS
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
护理专业的自荐信
2013/10/22 职场文书
幼儿园家长会邀请函
2014/01/15 职场文书
情侣吵架检讨书
2014/02/05 职场文书
供电工程专业求职信
2014/08/09 职场文书
公民授权委托书
2014/10/15 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书