python读写csv文件的方法


Posted in Python onAugust 13, 2019

1.爬取豆瓣top250书籍

import requests
import json
import csv
from bs4 import BeautifulSoup
books = []
def book_name(url):
 res = requests.get(url)
 html = res.text
 soup = BeautifulSoup(html, 'html.parser')
 items = soup.find(class_="grid-16-8 clearfix").find(class_="indent").find_all('table')
 for i in items:
  book = []
  title = i.find(class_="pl2").find('a')
  book.append('《' + title.text.replace(' ', '').replace('\n', '') + '》')
  star = i.find(class_="star clearfix").find(class_="rating_nums")
  book.append(star.text + '分')
  try:
   brief = i.find(class_="quote").find(class_="inq")
  except AttributeError:
   book.append('”暂无简介“')
  else:
   book.append(brief.text)
  link = i.find(class_="pl2").find('a')['href']
  book.append(link)
  global books
  books.append(book)
  print(book)
 try:
  next = soup.find(class_="paginator").find(class_="next").find('a')['href']
 # 翻到最后一页
 except TypeError:
  return 0
 else:
  return next
next = 'https://book.douban.com/top250?start=0&filter='
count = 0
while next != 0:
 count += 1
 next = book_name(next)
 print('-----------以上是第' + str(count) + '页的内容-----------')
csv_file = open('D:/top250_books.csv', 'w', newline='', encoding='utf-8')
w = csv.writer(csv_file)
w.writerow(['书名', '评分', '简介', '链接'])
for b in books:
 w.writerow(b)

结果

python读写csv文件的方法

2.把评分为9.0的书籍保存到book_out.csv文件中

'''
1.爬取豆瓣评分排行前250本书,保存为top250.csv
2.读取top250.csv文件,把评分为9.0以上的书籍保存到另外一个csv文件中
'''
import csv
#打开的时候必须用encoding='utf-8',否则报错
with open('top250.csv', encoding='utf-8') as rf:
 reader = csv.reader(rf)
 #读取头部
 headers = next(reader)
 with open('books_out.csv', 'w', encoding='utf-8') as wf:
  writer = csv.writer(wf)
  #把头部信息写进去
  writer.writerow(headers)
  for book in reader:
   #获取评分
   score = book[1]
   #把评分大于9.0的过滤出来
   if score and float(score) >= 9.0:
    writer.writerow(book)

总结

以上所述是小编给大家介绍的python读写csv文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python连接MySQL数据库实例分析
May 12 Python
django批量导入xml数据
Oct 16 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
Python 创建空的list,以及append用法讲解
May 04 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
python列表推导式入门学习解析
Dec 02 Python
使用python实现数组、链表、队列、栈的方法
Dec 20 Python
Python调用shell cmd方法代码示例解析
Jun 18 Python
django 模型字段设置默认值代码
Jul 15 Python
Windows 平台做 Python 开发的最佳组合(推荐)
Jul 27 Python
Python中pass的作用与使用教程
Nov 13 Python
python根据多个文件名批量查找文件
Aug 13 #Python
详解django实现自定义manage命令的扩展
Aug 13 #Python
Python一键安装全部依赖包的方法
Aug 12 #Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 #Python
浅谈Python2之汉字编码为unicode的问题(即类似\xc3\xa4)
Aug 12 #Python
基于Python2、Python3中reload()的不同用法介绍
Aug 12 #Python
Python递归函数 二分查找算法实现解析
Aug 12 #Python
You might like
在线竞拍系统的PHP实现框架(一)
2006/10/09 PHP
php抽奖小程序的实现代码
2013/06/18 PHP
php获取目录所有文件并将结果保存到数组(实例)
2013/10/25 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
PHP学习笔记(三):数据类型转换与常量介绍
2015/04/17 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
js apply/call/caller/callee/bind使用方法与区别分析
2009/10/28 Javascript
jQuery LigerUI 使用教程表格篇(1)
2012/01/18 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
全面理解JavaScript中的继承(必看)
2016/06/16 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
Vue中的验证登录状态的实现方法
2019/03/09 Javascript
微信小程序:数据存储、传值、取值详解
2019/05/07 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
node.js Promise对象的使用方法实例分析
2019/12/26 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
Python中的多重装饰器
2015/04/11 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
CSS3 background-image颜色渐变的实现代码
2018/09/13 HTML / CSS
JDK安装目录下有哪些内容
2014/08/25 面试题
工厂仓管员岗位职责范本
2014/07/17 职场文书
国际贸易系求职信
2014/08/09 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
个人批评与自我批评发言稿
2014/09/28 职场文书
2015秋季开学演讲稿范文
2015/07/16 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书