You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
2.9 KiB

6 months ago
from .utils import *
from .query import *
def getHomeData():
# df = pd.read_sql('select * from movie LIMIT 111', con=con)
maxMovieLen = len(df) # 电影总个数
maxRate = df['rate'].max() # 最高评分
# 计算最多演员出场
castsList = typeList('casts')
maxCasts = max(castsList, key=castsList.count)
# 计算最多制片国家数
countryList = typeList('country')
maxCountry = max(countryList, key=countryList.count)
# 计算总共类型个数
typesList = typeList('types')
maxTypes = len(set(typesList))
# 计算最多语言
langList = typeList('lang')
maxLang = max(langList, key=langList.count)
return maxMovieLen, maxRate, maxCasts, maxCountry, maxTypes, maxLang
# def getHomeData():
# df = pd.read_sql('select * from movie', con=con)
# maxMovieLen = len(df.values) # 电影总个数
#
#
# maxRate = df['rate'].max() # 最高评分
#
# castsList = typeList('casts')
# maxCasts = max(castsList, key=castsList.count) # 最多演员出场
#
# countryList = typeList('country')
# maxCountry = max(countryList, key=countryList.count) # 最多制片国家数
#
# typesList = typeList('types')
# maxTypes = len(set(typesList)) # 总共类型个数
#
# langList = typeList('lang')
# maxLang = max(langList, key=langList.count) # 最多语言
#
# return maxMovieLen, maxRate, maxCasts, maxCountry, maxTypes, maxLang
# 电影种类饼状图
def getTypesEcharData():
typesList = typeList('types') # [xx,xx,xx]
typeObj = {}
for i in typesList:
if typeObj.get(i, -1) == -1:
typeObj[i] = 1
else:
typeObj[i] = typeObj[i] + 1
typeEcharData = []
for key, value in typeObj.items():
typeEcharData.append(
{
'name': key,
'value': value
}
)
return typeEcharData
def getRateEcharData():
rateList = df['rate'].map(lambda x: float(x)).values
rateList.sort()
rateObj = {}
for i in rateList:
if rateObj.get(i, -1) == -1:
rateObj[i] = 1
else:
rateObj[i] = rateObj[i] + 1
return list(rateObj.keys()), list(rateObj.values())
def getTableData():
# 执行查询
sql = 'SELECT * FROM movie LIMIT 300'
data = list(querys(sql, [], 'select'))
def map_fn(item):
item = list(item)
item[17] = item[17].split(sep=',')
return item
data = map(map_fn, data)
return data
# def getTableData():
# tableData = df.values
# for i, item in enumerate(tableData):
# item[17] = item[17].split(sep=',')
# return tableData
def getMovieUrlById(movieName):
tableData = df[df['title'] == movieName].values[0]
# print(tableData[id - 1])
return tableData[-1]
# def getMovieUrlById(id):
# tableData = df.values
# # print(tableData[id - 1])
# return tableData[id - 1][-1]
# getHomeData()