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 k-近邻算法实例分享
Jun 11 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
PyQt5打开文件对话框QFileDialog实例代码
Feb 07 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
Aug 31 Python
python模拟登陆,用session维持回话的实例
Dec 27 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
Feb 20 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
python是怎么被发明的
Jun 15 Python
利用python 读写csv文件
Sep 10 Python
Pycharm制作搞怪弹窗的实现代码
Feb 19 Python
Python字符串对齐方法使用(ljust()、rjust()和center())
Apr 26 Python
PO模式在selenium自动化测试框架的优势
Mar 20 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
global.php
2006/12/09 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
关于B/S判断浏览器断开的问题讨论
2008/10/29 Javascript
YUI的Tab切换实现代码
2010/04/11 Javascript
jquery下div 的resize事件示例代码
2014/03/09 Javascript
JavaScript日期类型的一些用法介绍
2015/03/02 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
js点击按钮实现带遮罩层的弹出视频效果
2015/12/19 Javascript
jquery拖拽排序简单实现方法(效果增强版)
2016/02/16 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
如何制作幻灯片(代码分享)
2017/01/06 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
详解python中 os._exit() 和 sys.exit(), exit(0)和exit(1) 的用法和区别
2017/06/23 Python
python导入csv文件出现SyntaxError问题分析
2017/12/15 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
2018/07/10 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
Python使用20行代码实现微信聊天机器人
2020/06/05 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
如何利用find命令查找文件
2016/11/18 面试题
学校献爱心活动总结
2014/07/08 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
七年级作文之下雨天
2019/12/23 职场文书