import re
from utils.query import querys
from utils.getPublicData import *
def getMapData():
addressdata = list(getaddresssort())
mapData = []
# for i in addressdata:
# mapData.append({
# 'name':i[0]+"省",
# 'value':i[1]
# })
full_names = {
"北京": "北京市",
"天津": "天津市",
"河北": "河北省",
"山西": "山西省",
"内蒙古": "内蒙古自治区",
"辽宁": "辽宁省",
"吉林": "吉林省",
"黑龙江": "黑龙江省",
"上海": "上海市",
"江苏": "江苏省",
"浙江": "浙江省",
"安徽": "安徽省",
"福建": "福建省",
"江西": "江西省",
"山东": "山东省",
"河南": "河南省",
"湖北": "湖北省",
"湖南": "湖南省",
"广东": "广东省",
"广西": "广西壮族自治区",
"海南": "海南省",
"重庆": "重庆市",
"四川": "四川省",
"贵州": "贵州省",
"云南": "云南省",
"西藏": "西藏自治区",
"陕西": "陕西省",
"甘肃": "甘肃省",
"青海": "青海省",
"宁夏": "宁夏回族自治区",
"新疆": "新疆维吾尔自治区",
"香港": "香港特别行政区",
"澳门": "澳门特别行政区",
"台湾": "台湾省"
}
mapData = [{full_names[key]:str(value)} for key ,value in addressdata if key in full_names]
mapRealData = []
for item in mapData:
for key,value in item.items():
mapRealData.append({
'name':key,
'value':int(value)
})
return mapRealData
def getBasicData():
commoditydata = getcommoditydata()
maxData = len(commoditydata)
# 过滤掉包含 None 的数据行
filtered_data = [row for row in commoditydata if row[2] is not None and row[3] is not None]
maxPrice =''
maxSingelV = ''
maxVolume = ''
# 如果 filtered_data 为空,设置默认值(例如 0)
if not filtered_data:
maxPrice = 0
maxSingelV = 0
maxVolume = 0
else:
maxPrice = max([row[2] for row in filtered_data])
maxSingelV = max([row[3] for row in filtered_data])
maxVolume = max([float(row[2]) * float(row[3]) for row in filtered_data])
return maxData,maxPrice,maxSingelV,maxVolume
def getTypeVolume():
typeDataList = list(gettypesort())
typeData = []
for i in typeDataList:
if i[0] != 'type':
typeData.append({
'name':i[0],
'value':i[1]
})
return typeData
def getsaleVolumerate():
salerateList = list(getsalerate())
salerateX = []
salerateY1 = []
salerateY2 = []
salerateY3 = []
for i in salerateList:
if i[0] is not None and i[1] is not None and i[2] is not None:
try:
Y1 = float(i[1]) * 100
Y2 = round(float(i[2]), 0)
Y3 = round(float(i[3]), 0)
salerateX.append(i[0])
salerateY1.append(Y1)
salerateY2.append(Y2)
salerateY3.append(Y3)
except (ValueError, IndexError):
continue
if len(salerateY3) >= 2:
salerateY3[1] = salerateY3[1] * 0.1
return salerateX, salerateY1, salerateY2, salerateY3
def getstoreproductVlm():
storeproductList = list(getstoreproduct())
def custom_sort(item):
# Define the sorting order
order = {'小于100': 1, '小于200': 2, '小于500': 3, '小于1000': 4,
'小于5000': 5, '小于10000': 6, '大于10000': 7}
# Return the sorting key
return order.get(item[0], float('inf')) # Default to 'inf' if item[0] is not in 'order'
# Sort the list using the custom sorting function
storeproductList = sorted(storeproductList, key=custom_sort)
storeproductX = []
storeproductY1 = []
storeproductY2 = []
for i in storeproductList:
if i[0] is not None and i[1] is not None and i[2] is not None:
storeproductX.append(i[0])
storeproductY1.append(i[1])
storeproductY2.append(i[2])
return storeproductX, storeproductY1, storeproductY2
def getprovinceTopdata():
provincedataList = list(getprovincesort())
provincedata = []
for i in provincedataList:
provincedata.append({
'name':i[0],
'value':i[1]
})
return provincedata