爬虫将爬取到的信息存储进excel表
爬虫将爬取到的 信息 存储进excel表中
1.直接写入的方式
filename excel文件名, sheetname 就是你的 excel表格底下的 sheet ,wordlist 你的数据
import xlwt # 往excel写入
def write_to_excel(self, filename, sheetname, word_list):
print(word_list)
try:
# 创建workbook
workbook = xlwt.Workbook(encoding='utf-8')
# 给工作表中添加sheet表单
sheet = workbook.add_sheet(sheetname)
# 设置表头
head = []
print(head)
for i in word_list[0].keys():
head.append(i)
# 将表头写入excel
for j in range(len(head)):
sheet.write(0, j, head[j])
# 给表中写入内容
x = 1
for item in word_list:
for y in range(len(head)):
sheet.write(x, y, item[head[y]])
x += 1
# 保存
workbook.save(filename)
print("写入成功")
except Exception:
print('写入失败')
2.往excel中追加
import xlrd # 往excel中追加
from xlutils.copy import copy # 需要使用的 一个 工具包
def write_to_excel_append(filename,infos):
'''
追加excel的方法
:param filename: 文件名
:param infos: 【item,item】
:return:
'''
#打开excle文件
work_book = xlrd.open_workbook(filename)
#获取工作表中的所有sheet表单名称
sheets = work_book.sheet_names()
#获取第一个表单
work_sheet = work_book.sheet_by_name(sheets[0])
#获取已经写入的行数
old_rows = work_sheet.nrows
#获取表头的所有字段
keys = work_sheet.row_values(0)
#将xlrd对象转化成xlwt,为了写入
new_work_book = copy(work_book)
#获取表单来添加数据
new_sheet = new_work_book.get_sheet(0)
i = old_rows
for item in infos:
for j in range(len(keys)):
new_sheet.write(i, j, item[keys[j]])
i += 1
new_work_book.save(filename)
print('追加成功!')