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 数据加密代码
Dec 24 Python
Python制作CSDN免积分下载器
Mar 10 Python
深入理解Python中的内置常量
May 20 Python
Python中函数eval和ast.literal_eval的区别详解
Aug 10 Python
python机器学习之神经网络(二)
Dec 20 Python
python PyTorch预训练示例
Feb 11 Python
python网络爬虫学习笔记(1)
Apr 09 Python
使用python进行文本预处理和提取特征的实例
Jun 05 Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 Python
python爬虫之快速对js内容进行破解
Jul 09 Python
Python 如何展开嵌套的序列
Aug 01 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 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/12/06 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
php-msf源码详解
2017/12/25 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
ie8本地图片上传预览示例代码
2014/01/12 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
2015/10/23 Javascript
JavaScript获取function所有参数名的方法
2015/10/30 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
vue.js与element-ui实现菜单树形结构的解决方法
2018/04/21 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
使用python实现拉钩网上的FizzBuzzWhizz问题示例
2014/05/05 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
浅谈django中的认证与登录
2016/10/31 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
Python实现获取命令行输出结果的方法
2017/06/10 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
详解Python的爬虫框架 Scrapy
2020/08/03 Python
德国旅游网站:weg.de
2018/06/03 全球购物
介绍一下Cookie和Session及他们之间的区别
2012/11/20 面试题
单位作风建设剖析材料
2014/10/11 职场文书
电气工程师岗位职责
2015/02/12 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS