商品价格统计查询

这段代码读取'rb2010.csv'文件,根据输入的查询条件(最高价、最低价等)对数据进行排序并输出相关信息。例如,可以找出最高收盘价、最低开盘价、平均开盘价和收盘价,以及数据记录数。此外,还能统计每个月的数据记录数,并进行模糊查询和按月份筛选数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

n = input()
ls0 = []
s = 0
ls2 = []
ls3 = []
l = []
c = 0

dict1 = {'01': 0, '02': 0, '03': 0, '04': 0, '05': 0, '06': 0, '07': 0, '08': 0, '09': 0, '10': 0, '11': 0, '12': 0}
with open('rb2010.csv', 'r', encoding='utf-8') as f:
    for line in f.readlines():
        line = line.strip('\n')
        ls = list(line.split(','))
        ls0.append(ls)

    ls0.sort(key=lambda x: x[3], reverse=True)
    ls1 = ls0[1:]

if n == '最高价':
    ls1.sort(key=lambda x: x[2], reverse=True)
    print(ls1[0][0], ls1[0][2])

elif n == '最低价':
    ls1.sort(key=lambda x: x[3])
    print(ls1[0][0], ls1[0][3])

elif n == '最高收盘价':
    ls1.sort(key=lambda x: x[4], reverse=True)
    print(ls1[0][0], ls1[0][4])

elif n == '最低收盘价':
    ls1.sort(key=lambda x: x[4])
    print(ls1[0][0], ls1[0][4])

elif n == '最高开盘价':
    ls1.sort(key=lambda x: x[1], reverse=True)
    print(ls1[0][0], ls1[0][1])

elif n == '最低开盘价':
    ls1.sort(key=lambda x: x[1])
    print(ls1[0][0], ls1[0][1])

elif n == '开盘平均价':
    for i in range(0, len(ls1)):
        s = s + int(ls1[i][1])
    print(s / len(ls1))

elif n == '收盘平均价':
    for i in range(0, len(ls1)):
        s = s + int(ls1[i][4])
    print(s / len(ls1))

elif n == '数据记录数':
    print(len(ls1))

elif n == '交易日':
    for i in ls1:
        ls2.append(i[0][4:6])
    for i in ls2:
        dict1[i] = dict1.get(i, 0) + 1
    l = list(dict1.values())

    for i in range(1, 13):
        print('{}月:{}天'.format(i, l[i - 1]))




elif n == '模糊查询':
    ls1.sort(key=lambda x: x[0])
    k = input()
    for i in ls1:
        if k in i[0]:
            print('Date Open High Low Close')
            break
    else:
        print('无数据')

    for i in ls1:
        if k in i[0]:
            print(" ".join(i))

elif n == '月份数据查询':
    ls1.sort(key=lambda x: x[0])
    month = input()
    if int(month) < 10:
        for i in ls1:
            if month == i[0][5]:
                print(" ".join(i))
                c = c + 1
    elif int(month) >= 10:
        for i in ls1:
            if month == i[0][4:6]:
                print(" ".join(i))
                c = c + 1

    if c == 0:
        print('无数据')

扫描下方二维码图片,关注后了解更多精彩内容!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十四桥_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值