|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
data_stock = '''1:605108/同庆楼/1.12%/50.56/1,882.46。;2:000001/平安银行/1.11%/141.58/1,863.19。;3:002965/祥鑫科技/1.05%/30.15/1,755.03。;4:300532/今天国际/1.01%/116.65/1,689.12。;5:301004/嘉益股份/0.98%/54.86/1,633.73。;6:002843/泰嘉股份/0.95%/78.62/1,594.41。;7:300910/瑞丰新材/0.94%/12.79/1,577.13。;8:300595/欧普康视/0.93%/43.44/1,550.81。;9:300454/深信服/0.90%/13.39/1,507.04。;10:605117/德业股份/0.89%/4.49/1,487.09。'''
上面内容通过";"可以分成几块
每块又通过"/"分成多个部分,第二部分是股票名称,第三部分是份额
比如第一块;股票名为同庆楼,份额为1.12%
data_hy = '''互联网服务79/144|今天国际79/144互联网服务 ?化学制品23/154|瑞丰新材23/154化学制品 ?医疗器械9/117|欧普康视9/117医疗器械 ?家用轻工17/27|嘉益股份17/27家用轻工 ?家电行业6/92|德业股份6/92家电行业 ?旅游酒店7/36|同庆楼7/36旅游酒店 ?软件开发9/180|深信服9/180软件开发 ?通用设备70/195|祥鑫科技33/195通用设备;泰嘉股份107/195通用设备 ?银行10/42|平安银行10/42银行'''
上面内容通过" ?"可以分成几块
每块又通过"|"分成二部分,前面部分的纯文字是行业
,后面部分的是股票,后面带有数字纯文字才是股票
比如比如第8块;行业名称为:通用设备
股票名称有:祥鑫科技,泰嘉股份
想要达到的目的是:
列出股票名称列表:同庆楼,平安银行,祥鑫科技,今天国际,嘉益股份,泰嘉股份,瑞丰新材,欧普康视,深信服,德业股份
与股票名称对应的份额:1.12%,1.11%,1.05%,1.01%,0.98%,0.95%,0.94%,0.93%,0.90%,0.89%
行业列表:互联网服务,化学制品,医疗器械,家用轻工,家电行业,旅游酒店,软件开发,通用设备,银行
与行业列表对应的份额(它名下股票的份额的和):1.01%,0.94%/,0.93%/,.....
问题有点复杂又多,请大师帮忙,谢谢
gpt搞不出来,我手撸了一个:
import re
data_stock = '''1:605108/同庆楼/1.12%/50.56/1,882.46。;2:000001/平安银行/1.11%/141.58/1,863.19。;3:002965/祥鑫科技/1.05%/30.15/1,755.03。;4:300532/今天国际/1.01%/116.65/1,689.12。;5:301004/嘉益股份/0.98%/54.86/1,633.73。;6:002843/
泰嘉股份/0.95%/78.62/1,594.41。;7:300910/瑞丰新材/0.94%/12.79/1,577.13。;8:300595/欧普康视/0.93%/43.44/1,550.81。;9:300454/深信服/0.90%/13.39/1,507.04。;10:605117/德业股份/0.89%/4.49/1,487.09。'''
data_hy = '''互联网服务79/144|今天国际79/144互联网服务 ?化学制品23/154|瑞丰新材23/154化学制品 ?医疗器械9/117|欧普康视9/117医疗器械 ?家用轻工17/27|嘉益股份17/27家用轻工 ?家电行业6/92|德业股份6/92家电行业 ?旅游酒店7/36|{
同庆楼7/36旅游酒店 ?软件开发9/180|深信服9/180软件开发 ?通用设备70/195|祥鑫科技33/195通用设备;泰嘉股份107/195通用设备 ?银行10/42|平安银行10/42银行'''
stocks = re.sub(r'\s', '', data_stock).split(';')
stocks = dict(map(lambda i: i.split('/')[1:3], stocks))
hys = re.sub(r'[\s{]', '', data_hy).split('?')
hys = list(map(lambda i: re.split(r'\d.+\d', i.split('|')[1]), hys))
hys_stock={}
for i in hys:
hys_stock[i[1]] = hys_stock.get(i[1], 0) + float(stocks[i[0]][:-1])
print("列出股票名称列表:", ",".join(stocks.keys()))
print("与股票名称对应的份额:", ",".join(stocks.values()))
print("行业列表:", ",".join(hys_stock.keys()))
print("与行业列表对应的份额(它名下股票的份额的和):", ",".join(map(lambda i: f'{i:.2f}%', hys_stock.values())))
|
|