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使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
python使用clear方法清除字典内全部数据实例
Jul 11 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 Python
python画微信表情符的实例代码
Oct 09 Python
python绘制雪景图
Dec 16 Python
Numpy 多维数据数组的实现
Jun 18 Python
Python 抓取数据存储到Redis中的操作
Jul 16 Python
Django 权限管理(permissions)与用户组(group)详解
Nov 30 Python
Pytorch 使用tensor特定条件判断索引
Apr 08 Python
python使用openpyxl库读写Excel表格的方法(增删改查操作)
May 02 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 ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
又十个超级有用的PHP代码片段
2015/09/24 PHP
JavaScript中也使用$美元符号来代替document.getElementById
2010/06/19 Javascript
JS兼容浏览器的导出Excel(CSV)文件的方法
2014/05/03 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
vue-resourse将json数据输出实例
2017/03/08 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
vue.js删除列表中的一行
2018/06/30 Javascript
微信小程序实现预览图片功能
2020/10/22 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
python连接mysql并提交mysql事务示例
2014/03/05 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
python爬虫获取百度首页内容教学
2018/12/23 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
python编写简单端口扫描器
2019/09/04 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
使用css3制作动感导航条示例
2014/01/26 HTML / CSS
Data URI scheme详解和使用实例及图片base64编码实现方法
2014/05/08 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
英国高档时尚男装购物网站:MR PORTER
2016/08/09 全球购物
精伦电子Java笔试题
2013/01/16 面试题
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
优秀教师的感人事迹
2014/02/04 职场文书
2014年行政后勤工作总结
2014/12/06 职场文书
PHP策略模式写法
2021/04/01 PHP
python3 hdf5文件 遍历代码
2021/05/19 Python
javascript实现计算器功能详解流程
2021/11/01 Javascript
HTML怎么设置下划线?html文字加下划线方法
2021/12/06 HTML / CSS
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript