在进行爬虫实践时,我已经爬取到了我需要的信息,那么最后一个问题就是如何把我所爬到的数据存储到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中的更多相关文章

  1. 如何将存储在MongoDB数据库中的数据导出到Excel中?

    将MongoDB数据库中的数据导出到Excel中,只需以下几个步骤: (1)首先,打开MongoDB安装目录下的bin文件夹,(C:\Program Files (x86)\MongoDB\Serve ...

  2. 如何使用免费控件将Word表格中的数据导入到Excel中

    我通常使用MS Excel来存储和处理大量数据,但有时候经常会碰到一个问题—我需要的数据存储在word表格中,而不是在Excel中,这样处理起来非常麻烦,尤其是在数据比较庞大的时候, 这时我迫切地需要 ...

  3. c#.net循环将DataGridView中的数据赋值到Excel中,并设置样式

    Microsoft.Office.Interop.Excel.Application excel =                new Microsoft.Office.Interop.Excel ...

  4. phpexcel的写操作将数据库中的数据导入到excel中

    这个版本据说是可以支持excel2007,但是我使用2007编辑的xlsx是无法获得该库的支持.于是乎我就将它转化为2003.感觉支持地很好. 下面介绍一下具体的使用: require_once('. ...

  5. Java基础知识强化之IO流笔记46:IO流练习之 把文本文件中数据存储到集合中的案例

    1.  把文本文件中数据存储到集合中      需求:从文本文件中读取数据(每一行为一个字符串数据)到集合中,并遍历集合. 分析:      通过题目的意思我们可以知道如下的一些内容,      数据 ...

  6. 将Datagridview中的数据导出至Excel中

        首先添加一个模块ImportToExcel,并添加引用         然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...

  7. JAVA之旅(十七)——StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder

    JAVA之旅(十七)--StringBuffer的概述,存储,删除,获取,修改,反转,将缓存区的数据存储到数组中,StringBuilder 讲完String,我们来聊聊他的小兄弟 一.StringB ...

  8. IOS开发数据存储篇—IOS中的几种数据存储方式

    IOS开发数据存储篇—IOS中的几种数据存储方式 发表于2016/4/5 21:02:09  421人阅读 分类: 数据存储 在项目开发当中,我们经常会对一些数据进行本地缓存处理.离线缓存的数据一般都 ...

  9. 使用POI把查询到的数据表数据导出到Excel中,一个表一个sheet.最详细!!!

    一.需求 我们会遇到开发任务: 经理:小王,你来做一下把数据库里的数据导出到Excel中,一个表是一个sheet,不要一个表一个Excel. 小王:好的,经理.(内心一脸懵逼) 二.前期准备 首先我们 ...

随机推荐

  1. 关于windows下编写的shell脚本在linux下无法运行报错问题

    首先,你写的shell脚本必须是正确的, 其次,无法运行的原因:因为windows下的换行是两个字节,而你上传到linux,linux下换行是两个字节,所以编译的酒不正确的,导致无法 运行脚本, 这种 ...

  2. Arcgis for js加载百度地图

    看转:https://blog.csdn.net/qq_41046162/article/details/80248281 通过学习了一段时间的arcgis for js,让我来讲一下如何在arcgi ...

  3. jq国际化i18n

    1.(main.js或)ajax.js引入文件 import './jquery.i18n.properties.min' //https://github.com/jquery-i18n-prope ...

  4. 十九,基于helm搭建EFK日志收集系统

    目录 EFK日志系统 一,EFK日志系统简介: 二,EFK系统部署 1,EFK系统部署方式 2,基于Helm方式部署EFK EFK日志系统 一,EFK日志系统简介: 关于系统日志收集处理方案,其实有很 ...

  5. asp.net使用FileUpload控件上传图片且重命名

    我在根目录下创建了一个Images图片存放文件夹,上传的图片都在这 下面贴代码 if (FileUpload1.HasFile) { string filename = FileUpload1.Fil ...

  6. [CodeForces 160A] Twins

    题目链接:http://codeforces.com/problemset/problem/160/A 注意排序是从大到小排,不要上来就sort导致从小到大排,细节水题. AC代码: #include ...

  7. 一图一知-TS的基本数据类型

  8. P1582 倒水 题解

    来水一发水题.. 题目链接. 正解开始: 首先,我们根据题意,可以得知这是一个有关二进制的题目: 具体什么关系,怎么做,我们来具体分析: 对于每个n,我们尝试将其二进制分解,也就是100101之类的形 ...

  9. Java中的super的使用

  10. HDU4465 Candy

    Candy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...