爬虫实践——数据存储到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. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...
随机推荐
- python selenium4 模拟点击+拖动+保存验证码 测试对象+以验证码的返回ID保存命名 58同城验证码
#!/usr/bin/python # -*- coding: UTF-8 -*- # @Time : 2019/12/5 17:30 # @Author : shenghao/10347899@qq ...
- 初学java2 认识面向对象 以及运算符 输入输出
面向对象 面向对象是一种程序设计思路,在设计一个程序时不需要考虑内部如何实现,只需要想他要实现什么功能 就像在餐馆点菜一样,你不需要知道他应该怎么做,你只需要决定你要吃什么 面向对象三大特征 继承 封 ...
- 【opencv 源码剖析】 四、 Mat的赋值构造函数 和 拷贝构造函数
1.赋值构造函数 右值引用 inline Mat& Mat::operator = (Mat&& m) { if (this == &m) return *this; ...
- ubuntu 一键搭建VNN
#!/bin/bash if [ $(id -u) != "0" ]; then printf "Error: You must be root to run this ...
- Makefile中 -I -L -l区别
我们用gcc编译程序时,可能会用到"-I"(大写i),"-L"(大写l),"-l"(小写l)等参数,下面做个记录: 例: gcc -o he ...
- 手工实现HttpBasic校验
HttpBasic: 是RFC中定义的一种控制HTTP协议访问资源的方式.具体当HTTP请求受限资源时,就需要在请求头中添加以"Authorization"为key的heade ...
- React中,input外边如果包一个div,可以把input的onChange事件绑定到div上面,并且也生效
最近第一次开始学习封装组件,遇到几个比较神奇的问题. 首先就是如果input外边包一个div,如果把input的onChange事件绑定到div上,也会生效 <div onChange={(e) ...
- linux Linux入门
Linux入门 Linux学习什么? 常用命令(背会) 软件安装(熟练) 服务端的架构(开开眼界) Linux如何学习? 不要问那么多为什么,后面你就懒得问了 先尝试理解一下,不行就背下来 一个知识点 ...
- Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
↓ 2进制 8进制 10进制 16进制 2进制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16)) 8进制 oct(int(x, 2)) - oct(in ...
- eclipse安装Bug检查工具
第一步:下载spotbugs工具 打开eclipse>Help>Eclipse Matketplace 打开 Eclipse Marketplace 搜索 spotbugs,点击Insta ...