从CSV生成字典后,如何根据用户输入日期获取列表对应索引?
日期索引查询实现方案
已生成的字典结构
从CSV文件生成了键值对结构的字典,每个键对应的值是该列所有行数据组成的列表,示例如下:
- Date:
['04-Nov-22', '05-Nov-22'] - USD:
[0.9872, 2.9872] - JPY:
[145.19, 11115.19]
生成字典的代码
通过以下代码可得到上述结构(原代码缺少冒号,已修正语法):
for key, value in df.items(): print(key, value)
有效性验证
该结构已验证有效:选取各列表的value[0]时,可获取对应列第一行的数据,即04-Nov-22、0.9872、145.19。
待实现功能与代码
需要实现:接收用户以%d-%b-%y格式输入的日期,检查该日期是否存在于Date对应的列表中,若存在则返回其索引(例如输入04-Nov-22时返回0)。
实现代码如下:
# 方式1:直接从DataFrame获取Date列的列表 date_list = df['Date'].tolist() # 方式2:如果已将DataFrame转为字典结构,直接取对应值 # date_list = data_dict['Date'] # 接收用户输入 user_input = input("请输入日期(格式:dd-Mon-yy,如04-Nov-22):") # 检查并返回索引 if user_input in date_list: print(date_list.index(user_input)) else: print("该日期不存在于数据中")
说明
list.index()方法会返回第一个匹配项的索引,若存在重复日期,仅返回首次出现的位置。
内容的提问来源于stack exchange,提问作者frenchie
相关产品推荐
相关产品推荐

