代码都是到处借的 我想把输出的数据导入到excel对应的位置中,但是这段代码的输出有点不一样,正常输出有分天气,但是输入到表格中就只有正常天气了,应该怎么解决,我需要每一个关键词一格数据一格
from urllib.request import urlopen
from bs4 import BeautifulSoup
import requests
import json
import re
import openpyxl,os
headers = {
# 浏览器
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/57.36 (KHTML, like Gecko) Chrome/12.0.0.0 Safari/57.36',
# Cookie
'Cookie': ***
session = requests.Session()
#第一个参数为登陆页面的网址
response = session.get('***********', headers=headers)
#url为你需要爬取的网页地址,非登录页面
url = "*************"
msg = session.get(url, headers=headers)
soup = BeautifulSoup(msg.text, 'html.parser')
#如果想看爬取结果可以用print
data = json.loads(soup.text)
#总完成单量
for item in data['data']['bmFranchiseeChargeBrandRewardDetailV1List']:
arrived = item['arrivedCnt']
#输出到excel
os.chdir(r'D:\桌面')
wb=openpyxl.Workbook()
sheet=wb.active
sheet.title='数据源'
sheet=wb['数据源']
#天气总单量+得分
for item in data['data']['bmFranchiseeChargeBrandWeatherRewardDetailList']:
weather_name = item['weather']['weatherName']
arrived_cnt = item['arrivedCnt']
weightscore_cnt = item['weightScore']
#复合超时时长
overtime_score = None
overtime_weight_score = None
for kpi in item['kpiScoreList']:
if kpi['name'] == '复合超时时长':
overtime_score = kpi['factValue']
overtime_weight_score = kpi['score']
#负向用户评价率
overtime_scorea = None
overtime_weight_scorea = None
for kpi in item['kpiScoreList']:
if kpi['name'] == '大网负向用户评价率':
overtime_scorea = kpi['factValue']
overtime_weight_scorea = kpi['score']
print(weather_name,
arrived_cnt,
weightscore_cnt,
'复合超时时长:' + overtime_score,
'复合超时时长得分:' + overtime_weight_score,
'差评率' + overtime_scorea,
'负向用户评价率得分' + overtime_weight_scorea)
#保存excel
print(wb.sheetnames)
wb.save('星级奖惩数据源.xlsx')
编写一个Python程序,要求
(1)打开文件阿里云天池电商婴儿用户数据.xlsx
(2)统计buy_mount数据
(3)按照buy_mount的数量绘制一个柱状图和饼图
(4)保存该Excel文件