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文件字符串转列表时遇到空行的问题
Jul 09 Python
分析Python中解析构建数据知识
Jan 20 Python
python Opencv将图片转为字符画
Feb 19 Python
python实现输入数字的连续加减方法
Jun 22 Python
Python实现的拉格朗日插值法示例
Jan 08 Python
Python爬虫爬取Bilibili弹幕过程解析
Oct 10 Python
python 解决flask 图片在线浏览或者直接下载的问题
Jan 09 Python
Python 实现自动完成A4标签排版打印功能
Apr 09 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
Jun 23 Python
python3 使用ssh隧道连接mysql的操作
Dec 05 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 Python
如何利用python实现Simhash算法
Jun 28 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开源建站平台小结
2010/04/22 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP贪婪算法解决0-1背包问题实例分析
2015/03/23 PHP
PHP判断是否为空的几个函数对比
2015/04/21 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
JS实现简单的Canvas画图实例
2013/07/04 Javascript
javascript验证身份证号
2015/03/03 Javascript
JavaScript模拟重力状态下抛物运动的方法
2015/03/03 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
jQuery实现本地预览上传图片功能
2016/01/08 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
最简单纯JavaScript实现Tab标签页切换的方式(推荐)
2016/07/25 Javascript
AngularJS ng-bind-html 指令详解及实例代码
2016/07/30 Javascript
JavaScript蒙板(model)功能的简单实现代码
2016/08/04 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
jQuery实现动态显示select下拉列表数据的方法
2018/02/05 jQuery
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
python正则表达式及使用正则表达式的例子
2018/01/22 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
Python assert语句的简单使用示例
2019/07/28 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
python argparse模块通过后台传递参数实例
2020/04/20 Python
python等待10秒执行下一命令的方法
2020/07/19 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
幼师自荐信
2013/10/26 职场文书
超市总经理岗位职责
2014/02/02 职场文书
学生安全教育材料
2014/02/14 职场文书
常务副总经理任命书
2014/06/05 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
世界十大狙击步枪排行榜
2022/03/20 杂记