halcon 将数据保存到excel_Python保存数据到Excel文件的多个sheet

SEO高手是如何分析竞争对手的一文中的方法,除了可以用于分析竞争对手,还可以每天监控竞争对手的数据动向。

如果想提取出主要竞争对手的排名情况,即排在首页的关键词,对应的着陆页和排名,并将结果保存在Excel文件的不同sheet中,该怎么做呢?下面将分别使用pandas,openpyxl两种方式实现。

pandas代码示例

import pandas as pd

domains = {'黄河票务':'huanghepiao','大河票务':'dahepiao','摩天轮票务':'moretickets'} #配置主要竞争对手

df = pd.read_csv('new_ranks.csv',dtype = {'rank' : int},encoding='gbk',error_bad_lines=False) #读取爬虫生成的csv文件

df['domain'] = df['domain'].fillna('not.html')

writer = pd.ExcelWriter('主要域名排名数据.xlsx')

for sheetname,domain in domains.items():

rankdata = df[df['domain'].str.contains(domain)]

rankdata.to_excel(writer,sheet_name = sheetname,encoding='utf-8',index=None)

writer.save()

writer.close()

输出结果如图:

7d3774c8a6234465ed2e6d0b34bce565.png

openpyxl代码示例

import csv

from openpyxl import Workbook

domains = {'黄河票务':'huanghepiao','大河票务':'dahepiao','摩天轮票务':'moretickets'} #配置主要竞争对手

wb = Workbook()

wb.active

count = 0

for sheetname, domain in domains.items():

sheet = wb.create_sheet(sheetname, index=count)

reader = csv.reader(open('new_ranks.csv')) #读取爬虫生成的csv文件

for row in reader:

if row and domain in row[1]:

row[3] = int(row[3])

sheet.append(row)

count += 1

wb.save('主要对手排名数据.xlsx')

输出结果如图:

9c520105f773a0e13d70a9d617e83ee9.png

结果发现生成的文件,pandas方式比openpyxl方式要大得多。这是因为使用pandas保存成Excel文件会将url加上超链接,导致数据更大。如果想去掉pandas保存文件中的超链接,可使用如下方式:

writer = pd.ExcelWriter('主要域名排名数据.xlsx')

改成:

writer = pd.ExcelWriter('主要域名排名数据.xlsx',options={'strings_to_urls': False}) #禁止保存成超链接

即可。

推荐阅读:

再谈Python批量查询百度指数

加强版Python采集百度凤巢关键词规划师

Python批量查询关键词搜狗指数

Python批量查询关键词微信指数

a97df502462b0dd40b8260dcf2409f08.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值