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()
輸出結果如圖:
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')
輸出結果如圖:
結果發現生成的文件,pandas方式比openpyxl方式要大得多。這是因為使用pandas保存成Excel文件會將url加上超鏈接,導致數據更大。如果想去掉pandas保存文件中的超鏈接,可使用如下方式:
writer = pd.ExcelWriter('主要域名排名數據.xlsx')
改成:
writer = pd.ExcelWriter('主要域名排名數據.xlsx',options={'strings_to_urls': False}) #禁止保存成超鏈接
即可。
推薦閱讀:
再談Python批量查詢百度指數
加強版Python采集百度鳳巢關鍵詞規劃師
Python批量查詢關鍵詞搜狗指數
Python批量查詢關鍵詞微信指數
總結
以上是生活随笔為你收集整理的halcon 将数据保存到excel_Python保存数据到Excel文件的多个sheet的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mware HA实战攻略之五VMware
- 下一篇: windows 下安装rabbitmq