W
e
l
c
o
m
e
: )

爬虫将爬取到的信息存储进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('追加成功!')
posted @ 2020-02-18 08:29  水一RAR  阅读(1768)  评论(0编辑  收藏  举报