Python 如何读取多个csv文件中的行,存储它们,然后在不使用模块的情况下搜索它们?

Python 如何读取多个csv文件中的行,存储它们,然后在不使用模块的情况下搜索它们?,python,Python,假设我有这样一个csv文件: 身份证姓名年龄 2011年1月30日 2018年2月23日 任务是搜索姓名和年份,例如,并打印年龄 我该怎么做 我曾尝试将它们存储在一个列表中,但结果是-我有一个所有项目的列表,我无法搜索这些项目。将它们存储为dict,这样您就可以按键和值搜索数据。存储表数据的一种方法是作为dict列表 table = [ {"id": 1, "name": "John", "age": 30, "year": 2011}, {"id": 2, "name": "G

假设我有这样一个csv文件:

身份证姓名年龄

2011年1月30日

2018年2月23日

任务是搜索姓名和年份,例如,并打印年龄

我该怎么做


我曾尝试将它们存储在一个列表中,但结果是-我有一个所有项目的列表,我无法搜索这些项目。

将它们存储为dict,这样您就可以按键和值搜索数据。

存储表数据的一种方法是作为dict列表

table = [
    {"id": 1, "name": "John", "age": 30, "year": 2011},
    {"id": 2, "name": "George", "age": 23, "year": 2018}
]
我将让您编写代码,将您的csv转换为该表单

然后您可以相对轻松地搜索表。这里有一个方法:

def get_age(name, year):
    for row in table:
        if row["name"] == name and row["year"] == year:
            return row["age"]

get_age("John", 2011)
>>> 30

get_age("John", 2012)
>>> None

我不知道您的“无模块”限制来自哪里,但在现实世界中,您会使用
pandas
来实现这一点。这是一个现成的库,提供此类数据结构和操作。

您能更准确地了解任务吗?搜索词是什么?它始终是一年的特定值,还是一个名称的特定值?输出是什么?年龄是否总是一个单一的值?如果您的搜索词有多个匹配项怎么办?所有项目都是唯一的。任务是让用户输入名称和年份。输出应为年龄(单个值)。您在csv文件中使用的分隔符是什么?到目前为止您尝试了什么,遇到了哪些具体问题?无模块限制来自我的家庭作业要求。我觉得他们只是想让我们无缘无故地受苦。说到痛苦,这些并不是csv文件中的所有名称,所以我想我首先必须将它们从文件存储到表中(我不太确定如何做)。但是你的回答帮助很大,谢谢!没问题。如果这只是一个练习,那么在Python的基础知识方面向您提出挑战是一个很好的练习。记住向上投票,如果这有助于解决您的问题,请将其标记为答案。我是新来的,因此我的向上投票似乎为0,但我将其标记为答案,谢谢。