ADD file via upload

main
pskvf7y6b 7 months ago
parent 0ea9f03ed6
commit 295e35200b

@ -0,0 +1,107 @@
import requests
from bs4 import BeautifulSoup
import csv
import time
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"
}
def get_info(url, csv_writer):
wb_data = requests.get(url, headers=headers)
soup = BeautifulSoup(wb_data.text, 'html.parser')
ranks = soup.select('span.pc_temp_num')
titles = soup.select('div.pc_temp_songlist > ul > li > a')
times = soup.select('span.pc_temp_tips_r > span')
for rank, title, time in zip(ranks, titles, times):
data = {
'rank': rank.get_text().strip(),
'singer': title.get_text().split('-')[0].strip(),
'song': title.get_text().split('-')[1].strip() if len(title.get_text().split('-')) > 1 else '',
'time': time.get_text().strip()
}
csv_writer.writerow(data)
if __name__ == '__main__':
urls = ['http://www.kugou.com/yy/rank/home/{}-8888.html'.format(str(i)) for i in range(1, 24)]
# 打开一个CSV文件用于写入
with open('kugou_rank.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=['rank', 'singer', 'song', 'time'])
# 写入表头
writer.writeheader()
for url in urls:
get_info(url, writer)
time.sleep(1)
IF嵌套函数的运用案例
案例1员工绩效评估
假设您有一个员工绩效表,其中包含员工的姓名、销售额和销售目标。您想要根据员工的销售额与目标的比较结果来评估他们的绩效(优秀、良好、一般、差)。
excel
=IF(C2>B2*1.2, "优秀", IF(C2>B2, "良好", IF(C2>B2*0.8, "一般", "差")))
这里C2是员工的销售额B2是销售目标。如果销售额超过目标的120%则绩效为“优秀”如果超过目标但不超过120%则为“良好”如果销售额在目标的80%到100%之间则为“一般”如果低于80%,则为“差”。
VLOOKUP函数的运用案例
案例2查找员工部门
假设您有两个表格,一个是员工信息表,包含员工的姓名和部门编号;另一个是部门信息表,包含部门编号和部门名称。您想要根据员工的姓名查找他们的部门名称。
在员工信息表的D2单元格中假设姓名在A列部门编号在B列您可以使用以下VLOOKUP公式
excel
=VLOOKUP(A2, 部门信息表!A:B, 2, FALSE)
这里A2是员工的姓名部门信息表!A:B是部门信息表的范围A列为姓名B列为部门名称但实际上VLOOKUP在A列查找部门编号的匹配项因为我们需要通过姓名先找到对应的部门编号这里为了说明假设姓名也在A列实际操作中应使用部门编号对应的列2表示返回匹配项所在行的第二列的值即部门名称FALSE表示精确匹配。
注意由于VLOOKUP直接在第一列查找而我们的案例是基于姓名查找这里实际上需要先用另一个VLOOKUP或INDEX+MATCH等函数找到姓名对应的部门编号然后再用VLOOKUP或INDEX+MATCH查找部门编号对应的部门名称。为了简化说明上述公式是一个概念性的示例。
COUNTIF或COUNTA统计特定值与非空值案例
案例3统计特定产品销售额
假设您有一个销售记录表,其中包含产品名称和销售额。您想要统计特定产品的总销售额。
在E1单元格中假设产品名称在A列销售额在B列您可以使用以下公式
excel
=SUMIF(A:A, "特定产品名称", B:B)
注意这里应该是SUMIF而不是COUNTIF因为我们要计算销售额的总和而不是数量。COUNTIF用于计算满足条件的单元格数量。
如果您想要统计非空销售额的数量可以使用COUNTA函数结合辅助列或者如果销售额列没有0或负数作为有效值可以直接使用
excel
=COUNTA(B:B) - COUNTIF(B:B, "")
或者更简单地如果0不是有效销售额
excel
=COUNTIF(B:B, ">0")
筛选空值与异常值案例
案例4筛选空值邮箱
假设您有一个包含员工姓名和邮箱地址的表格。您想要筛选出邮箱地址为空的员工。
选择邮箱地址列。
点击Excel菜单栏上的“数据”选项卡。
点击“筛选”按钮,此时邮箱地址列会出现一个下拉箭头。
点击下拉箭头,选择“(空值)”来筛选空邮箱地址。
案例5筛选异常销售数据
假设您有一个销售记录表其中包含销售日期、销售员和销售额。您想要筛选出销售额异常高例如超过10000或异常低例如为0或负数的记录。
选择销售额列。
使用条件格式来突出显示异常值(例如,红色填充表示异常高,黄色填充表示异常低)。
点击“开始”选项卡中的“条件格式”。
选择“新建规则”。
选择“使用公式确定要设置格式的单元格”。
输入公式,例如=D2>10000D列为销售额列来突出显示异常高的值。
设置所需的格式,然后点击“确定”。
重复上述步骤,为异常低的值设置不同的条件格式。
或者,您也可以使用筛选功能来直接筛选出这些异常值。
点击销售额列的下拉箭头。
选择“数字筛选器”。
选择“大于”或“小于”等选项,并输入相应的阈值来筛选异常值。
希望这些案例能帮助您更好地理解如何在Excel中运用IF嵌套、VLOOKUP函数、COUNTIF/COUNTA函数以及筛选空值和异常值。
Loading…
Cancel
Save