# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
from collections import defaultdict
import pymysql
import requests
# 提交人1111换成自己名字 分别调用 one和two方法
def one():
m = requests.get('http://43.143.30.32:9527/movies').json()
data = m['data']
country_box_office = defaultdict(float)
for movie in data:
country = movie.get("制片地区", "")
box_office = float(movie.get("票房", 0.0))
country_box_office[country] += box_office
top_countries = sorted(country_box_office.items(), key=lambda x: x[1], reverse=True)[:3]
data_to_insert = [('1111', country, total_box_office) for country, total_box_office in top_countries]
print(data_to_insert)
db_config = {
'host': '43.143.30.32',
'port': 3306,
'user': 'yingdao',
'password': '9527',
'database': 'ydtest',
'charset': 'utf8mb4'
}
try:
connection = pymysql.connect(**db_config)
with connection.cursor() as cursor:
sql = "INSERT INTO result (提交人, 信息, 票房总数) VALUES (%s, %s, %s)"
cursor.executemany(sql, data_to_insert)
connection.commit()
except Exception as e:
print(f"Error: {e}")
finally:
if connection:
connection.close()
def two():
m = requests.get('http://43.143.30.32:9527/movies').json()
data = m['data']
rating_intervals = {
"3.0-3.5": 0.0,
"9.0-9.5": 0.0,
"无评分": 0.0
}
for movie in data:
box_office_str = movie.get("票房", "0.0")
box_office = float(box_office_str) if box_office_str != '-' else 0.0
rating = movie.get("评分", None)
if rating == '-':
pass
else:
rating = float(rating)
# print(rating,type(rating),print(movie))
if rating is None:
rating_intervals["无评分"] += box_office
elif 3.0 <= float(rating) < 3.5:
rating_intervals["3.0-3.5"] += box_office
elif 9.0 <= float(rating) < 9.5:
rating_intervals["9.0-9.5"] += box_office
data_to_insert = [('1111', interval, total_box_office) for interval, total_box_office in rating_intervals.items()]
print(data_to_insert)
db_config = {
'host': '43.143.30.32',
'port': 3306,
'user': 'yingdao',
'password': '9527',
'database': 'ydtest',
'charset': 'utf8mb4'
}
try:
connection = pymysql.connect(**db_config)
with connection.cursor() as cursor:
sql = "INSERT INTO result (提交人, 信息, 票房总数) VALUES (%s, %s, %s)"
cursor.executemany(sql, data_to_insert)
connection.commit()
except Exception as e:
print(f"Error: {e}")
finally:
if connection:
connection.close()
def main(args):
pass