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实现360的字符显示界面
Feb 21 Python
python下载图片实现方法(超简单)
Jul 21 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
完美解决Python 2.7不能正常使用pip install的问题
Jun 12 Python
计算机二级python学习教程(1) 教大家如何学习python
May 16 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
解决python -m pip install --upgrade pip 升级不成功问题
Mar 05 Python
Python如何实现爬取B站视频
May 20 Python
基于python实现模拟数据结构模型
Jun 12 Python
python 实现IP子网计算
Feb 18 Python
Python面向对象编程之类的概念
Nov 01 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中随机显示图片的函数代码
2011/06/23 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
一个用js实现的页内搜索代码
2007/05/23 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
JavaScript移除数组内重复元素的方法
2015/03/18 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
react路由配置方式详解
2017/08/07 Javascript
Vue 2.0学习笔记之使用$refs访问Vue中的DOM
2017/12/19 Javascript
详解Vue 多级组件透传新方法provide/inject
2018/05/09 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
JavaScript函数的4种调用方法实例分析
2019/03/05 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
基于element-ui封装表单金额输入框的方法示例
2021/01/06 Javascript
Vue2.x-使用防抖以及节流的示例
2021/03/02 Vue.js
pandas对指定列进行填充的方法
2018/04/11 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
通过cmd进入python的实例操作
2019/06/26 Python
python 随机生成10位数密码的实现代码
2019/06/27 Python
Pycharm github配置实现过程图解
2020/10/13 Python
详解Python中的文件操作
2021/01/14 Python
管理岗位竞聘演讲稿
2014/08/18 职场文书
财产分割协议书范本
2014/11/03 职场文书
小学入学感言
2015/08/01 职场文书
婚宴祝酒词大全
2015/08/10 职场文书
Python 可迭代对象 iterable的具体使用
2021/08/07 Python