halcon 将数据保存到excel_Python保存数据到Excel文件的多个sheet
SEO高手是如何分析競(jìng)爭(zhēng)對(duì)手的一文中的方法,除了可以用于分析競(jìng)爭(zhēng)對(duì)手,還可以每天監(jiān)控競(jìng)爭(zhēng)對(duì)手的數(shù)據(jù)動(dòng)向。
如果想提取出主要競(jìng)爭(zhēng)對(duì)手的排名情況,即排在首頁的關(guān)鍵詞,對(duì)應(yīng)的著陸頁和排名,并將結(jié)果保存在Excel文件的不同sheet中,該怎么做呢?下面將分別使用pandas,openpyxl兩種方式實(shí)現(xiàn)。
pandas代碼示例
import pandas as pd
domains = {'黃河票務(wù)':'huanghepiao','大河票務(wù)':'dahepiao','摩天輪票務(wù)':'moretickets'} #配置主要競(jìng)爭(zhēng)對(duì)手
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('主要域名排名數(shù)據(jù).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()
輸出結(jié)果如圖:
openpyxl代碼示例
import csv
from openpyxl import Workbook
domains = {'黃河票務(wù)':'huanghepiao','大河票務(wù)':'dahepiao','摩天輪票務(wù)':'moretickets'} #配置主要競(jìng)爭(zhēng)對(duì)手
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('主要對(duì)手排名數(shù)據(jù).xlsx')
輸出結(jié)果如圖:
結(jié)果發(fā)現(xiàn)生成的文件,pandas方式比openpyxl方式要大得多。這是因?yàn)槭褂胮andas保存成Excel文件會(huì)將url加上超鏈接,導(dǎo)致數(shù)據(jù)更大。如果想去掉pandas保存文件中的超鏈接,可使用如下方式:
writer = pd.ExcelWriter('主要域名排名數(shù)據(jù).xlsx')
改成:
writer = pd.ExcelWriter('主要域名排名數(shù)據(jù).xlsx',options={'strings_to_urls': False}) #禁止保存成超鏈接
即可。
推薦閱讀:
再談Python批量查詢百度指數(shù)
加強(qiáng)版Python采集百度鳳巢關(guān)鍵詞規(guī)劃師
Python批量查詢關(guān)鍵詞搜狗指數(shù)
Python批量查詢關(guān)鍵詞微信指數(shù)
總結(jié)
以上是生活随笔為你收集整理的halcon 将数据保存到excel_Python保存数据到Excel文件的多个sheet的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mware HA实战攻略之五VMware
- 下一篇: python编写人机交互界面_Pytho