From 295e35200b177022f025cd41b75e649d06b0b49d Mon Sep 17 00:00:00 2001 From: pskvf7y6b <2402691054@qq.com> Date: Mon, 23 Dec 2024 13:03:40 +0800 Subject: [PATCH] ADD file via upload --- 何其源.txt | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 何其源.txt diff --git a/何其源.txt b/何其源.txt new file mode 100644 index 0000000..741f55c --- /dev/null +++ b/何其源.txt @@ -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>10000(D列为销售额列)来突出显示异常高的值。 +设置所需的格式,然后点击“确定”。 +重复上述步骤,为异常低的值设置不同的条件格式。 +或者,您也可以使用筛选功能来直接筛选出这些异常值。 +点击销售额列的下拉箭头。 +选择“数字筛选器”。 +选择“大于”或“小于”等选项,并输入相应的阈值来筛选异常值。 +希望这些案例能帮助您更好地理解如何在Excel中运用IF嵌套、VLOOKUP函数、COUNTIF/COUNTA函数以及筛选空值和异常值。 \ No newline at end of file