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每隔N秒运行指定函数的方法
Mar 16 Python
python数据类型_字符串常用操作(详解)
May 30 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
Mar 08 Python
Python(Django)项目与Apache的管理交互的方法
May 16 Python
Python3 关于pycharm自动导入包快捷设置的方法
Jan 16 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
May 31 Python
python Pandas库基础分析之时间序列的处理详解
Jul 13 Python
Python使用循环神经网络解决文本分类问题的方法详解
Jan 16 Python
Python包和模块的分发详细介绍
Jun 19 Python
Python爬虫代理池搭建的方法步骤
Sep 28 Python
Django基础CBV装饰器和中间件
Mar 22 Python
Python 匹配文本并在其上一行追加文本
May 11 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安全配置方法
2007/06/16 PHP
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
将时间以距今多久的形式表示,PHP,js双版本
2012/09/25 PHP
php实现过滤字符串中的中文和数字实例
2015/07/29 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
JScript的条件编译
2007/05/29 Javascript
js 跨域和ajax 跨域问题小结
2009/07/01 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
浅谈JavaScript中的分支结构
2016/07/01 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
浅谈Angular路由守卫
2017/08/26 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python中文字符串截取问题
2015/06/15 Python
python爬虫获取多页天涯帖子
2018/02/23 Python
对dataframe进行列相加,行相加的实例
2018/06/08 Python
TensorFlow MNIST手写数据集的实现方法
2020/02/05 Python
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
英国家喻户晓的折扣商场:TK Maxx
2017/05/26 全球购物
美国孕妇装品牌:Destination Maternity
2018/02/04 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
简单说下OSPF的操作过程
2014/08/13 面试题
给女朋友的道歉信
2014/01/10 职场文书
社会调查研究计划书
2014/05/01 职场文书
党的群众路线教育实践活动心得体会(医院)
2014/11/03 职场文书
教研活动主持词
2015/07/03 职场文书
安全教育培训制度
2015/08/06 职场文书
2019年健身俱乐部的创业计划书
2019/08/26 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
关于React Native使用axios进行网络请求的方法
2021/08/02 Javascript