爬虫实践——数据存储到Excel中
在进行爬虫实践时,我已经爬取到了我需要的信息,那么最后一个问题就是如何把我所爬到的数据存储到Excel中去,这是我没有学习过的知识。
如何解决这个问题,我选择先百度查找如何解决这个问题。
百度查到的方法千万种,我先选择看得懂的文章下手,不断尝试,最后解决了问题
那么到底如何解决这个问题呢?
解决这个问题要用到三个模块分别是xlwt、xlrd和xlutils
在使用这两个模块时要先下载安装它们,我用的是pycharm编写程序,我用到的安装方法是:
#在文件中导入xlwt、xlrd 和xlutils
import xlwt
import xlrd
import xlutils
再写入它们之后,会报错,把鼠标分别移到xlwt上点击一下,
它的头上会有一个红色的小灯泡,点击灯泡再点击install and import package "xlwt"
xlrd和xlutils同理
这样这三个模块就安装好了
模块安装好了,下一步就是要学会如何使用这三个模块了
xlwt模块:
import xlwt file_name = r'C:\Users\樱花雨\Desktop\test.xls'#这是你要保存文件的文件路径和文件名
workbook = xlwt.Workbook()#表示新建xls工作簿
sheet1 = workbook.add_sheet('worksheet')#新建xls表,表的名字是worksheet
for a in range(1,16):
# 把数据写入xls中,行,列,值
sheet1.write(0, 0, 'I')
sheet1.write(0, 1, 'love')
sheet1.write(0.2, 'python')
# 保存xls到file_name的路径下和文件名
workbook.save(file_name)
xlrd和xlutils模块:(xlrd参考链接:xlrd)
import xlrd
from xlutils.copy import copy xlsfile = r'C:\Users\樱花雨\Desktop\test.xls'
#打开xsl文件
book = xlrd.open_workbook(xlsfile)
#获取表格的名字
sheet_name = book.sheet_names()
print(sheet_name)
#获取工作表
#(1)通过索引顺序获取
#sheet = bool.sheets()[0]
#(2)通过名称获取
#sheet = book.sheet_by_name(r'worksheet')
#(3)通过索引顺序获取
sheet = book.sheet_by_index(0)
#获取表中的行数
nrows = sheet.nrows
#获取表中的列数
ncols = sheet.ncols
print(nrows)
print(ncols)
#获取表中整行的内容
row_data = sheet.row_values(0)
#获取表中列内容
col_data = sheet.col_values(0)
print(row_data)
print(col_data)
#获取表中单元格的内容
cell_value = sheet.cell_value(3,0)
print(cell_value)
#获取表中单元格的内容
cell_value2 = sheet.cell(3,0)
print(cell_value2)
#修改或添加单元格内容
#ctype:0 empty ;1,string;2 number;3 date;4 boolean;5 error
#value:写入单元格中的内容
#xf:0
#sheet.put_cell(row,col,ctype,value,xf)
sheet.put_cell(1,2,1,"test",0)
cell_value2 = sheet.cell(1,1)
print(cell_value2)
#保存xlsfile
wb = copy(book)
wb.save(xlsfile)
爬虫实践——数据存储到Excel中的更多相关文章
- 如何将存储在MongoDB数据库中的数据导出到Excel中?
将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...
- 如何使用免费控件将Word表格中的数据导入到Excel中
我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要 ...
- c#.net循环将DataGridView中的数据赋值到Excel中,并设置样式
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel ...
- phpexcel的写操作将数据库中的数据导入到excel中
这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...
- Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例
1. 把文本文件中数据存储到集合中 需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合. 分析: 通过题目的意思我们可以知道如下的一些内容, 数据 ...
- 将Datagridview中的数据导出至Excel中
首先添加一个模块ImportToExcel,并添加引用 然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...
- JAVA之旅(十七)——StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder
JAVA之旅(十七)--StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder 讲完String,我们来聊聊他的小兄弟 一.StringB ...
- IOS开发数据存储篇—IOS中的几种数据存储方式
IOS开发数据存储篇—IOS中的几种数据存储方式 发表于2016/4/5 21:02:09 421人阅读 分类: 数据存储 在项目开发当中,我们经常会对一些数据进行本地缓存处理.离线缓存的数据一般都 ...
- 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!
一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...
随机推荐
- JavaScript-->基础类型和引用类型的区别
先了解一下数组的基础知识:附代码(数组属于引用类型的对象) <!DOCTYPE html> <html lang="en"> <head> &l ...
- 关于dataset
举个栗子: <div id="cost" data-drink="coffee" data-food="sushi" data-mea ...
- BPM软件_K2再度入选Gartner iBPMS MQ挑战者象限_全球领先的工作流引擎
在Gartner 于1月最新发布的2018 iBPMS MQ报告中,K2再度入选“挑战者”象限,相较去年,K2在“前瞻性”方面有了显著提升. Gartner对该标准的定义为:供应商对市场具有清晰认识, ...
- mysql中binglog底层原理分析
binglog 是一个二进制的日志文件,会记录mysql的数据更新或潜在个跟新 (delete from table where id =xxx) 主从复制就是依靠binglog master -sl ...
- Spring OAuth2 Could not decode JSON for additional information: BaseClientDetails
错误消息: 2019-10-08 14:48:16.703 WARN o.s.s.o.p.c.JdbcClientDetailsService : Could not decode JSON for ...
- Delphi 编写线程的清除代码
- GOLANG的继承+接口语法练习
继承与接口同时存在 在Golang语言中,可以这么说:接口是继承的功能补充! 武当派有一个徒弟结构体,它继承WuDangMaster结构体的字段及方法 武林之中还有一个泰山北斗,名约少林派,少林入门神 ...
- VLC 可能的 XML parser error 解决
由于 VLC 设置不当 (通常是动了 skin 选项……),再次加载时 VLC 不能正常启动,并报如下错误: [00007f7dd003b670] xml xml reader error: XML ...
- bind9+dlz+mysql连接断开问题
前言 关于bind-dlz介绍:http://bind-dlz.sourceforge.net/ DLZ(Dynamically Loadable Zones)与传统的BIND9不同,BIND的不足之 ...
- SQL 归纳
查询父节点的所有子节点: SELECT * FROM menu m START WITH m.ID_ = '402882836068695f0160688eebf70006' CONNECT BY m ...