|
|
|
@ -63,10 +63,8 @@ def count_outage_sentiment(text):
|
|
|
|
|
# text = "全网监测到涉电力供应类舆情风险信息11条,环比减少2条;"
|
|
|
|
|
# text = "涉电力供应类舆情风险信息22条,环比持平。其中1条为官方媒体发布,其余21条均为个人账号发布。"
|
|
|
|
|
# 使用正则表达式匹配数字和关键词
|
|
|
|
|
pattern = r"信息(\d+)条,环比(增加|减少)(\d)条"
|
|
|
|
|
pattern_equal = r"信息(\d+)条,环比持平"
|
|
|
|
|
pattern = r"信息(\d+)条,环比(增加|减少)(\d+)条"
|
|
|
|
|
match = re.search(pattern, text)
|
|
|
|
|
match_equal = re.search(pattern_equal, text)
|
|
|
|
|
num1 = ""
|
|
|
|
|
change = ""
|
|
|
|
|
num2 = ""
|
|
|
|
@ -93,29 +91,32 @@ def count_outage_sentiment(text):
|
|
|
|
|
print(f"计算结果:{result}")
|
|
|
|
|
else:
|
|
|
|
|
print("变化类型未知,无法计算")
|
|
|
|
|
# update:2025-07-08 增加持平
|
|
|
|
|
elif match_equal:
|
|
|
|
|
num1 = int(match_equal.group(1))
|
|
|
|
|
change = "持平"
|
|
|
|
|
num2 = int(match_equal.group(1))
|
|
|
|
|
result = ""
|
|
|
|
|
# change = match_equal.group(2)
|
|
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
pattern = r"信息(\d+)条,同比(增加|减少)(\d+)条"
|
|
|
|
|
# update:2025-07-08 增加持平
|
|
|
|
|
pattern = r"信息(\d+)条,环比持平"
|
|
|
|
|
match = re.search(pattern, text)
|
|
|
|
|
if match:
|
|
|
|
|
num1 = int(match.group(1)) # 第一个数字,如 11
|
|
|
|
|
change = match.group(2) # 变化类型,如 “减少” 或 “增加”
|
|
|
|
|
num2 = int(match.group(3)) # 第二个数字,如 2
|
|
|
|
|
|
|
|
|
|
if change == "减少":
|
|
|
|
|
result = f"{num2 / (num1 + num2) * 100:.2f}%"
|
|
|
|
|
num2 = num1 + num2
|
|
|
|
|
elif change == "增加":
|
|
|
|
|
result = f"{num2 / (num1 - num2) * 100:.2f}%"
|
|
|
|
|
num2 = num1 - num2
|
|
|
|
|
else:
|
|
|
|
|
result = None # 如果不是增加或减少,可以处理成其他情况
|
|
|
|
|
num1 = int(match.group(1))
|
|
|
|
|
change = "持平"
|
|
|
|
|
num2 = int(match.group(1))
|
|
|
|
|
result = ""
|
|
|
|
|
else:
|
|
|
|
|
pattern = r"信息(\d+)条,同比(增加|减少)(\d+)条"
|
|
|
|
|
match = re.search(pattern, text)
|
|
|
|
|
if match:
|
|
|
|
|
num1 = int(match.group(1)) # 第一个数字,如 11
|
|
|
|
|
change = match.group(2) # 变化类型,如 “减少” 或 “增加”
|
|
|
|
|
num2 = int(match.group(3)) # 第二个数字,如 2
|
|
|
|
|
|
|
|
|
|
if change == "减少":
|
|
|
|
|
result = f"{num2 / (num1 + num2) * 100:.2f}%"
|
|
|
|
|
num2 = num1 + num2
|
|
|
|
|
elif change == "增加":
|
|
|
|
|
result = f"{num2 / (num1 - num2) * 100:.2f}%"
|
|
|
|
|
num2 = num1 - num2
|
|
|
|
|
else:
|
|
|
|
|
result = None # 如果不是增加或减少,可以处理成其他情况
|
|
|
|
|
|
|
|
|
|
print("未匹配到符合条件的内容")
|
|
|
|
|
|
|
|
|
|