首页 > 解决方案 > 如何读取多个 csv 文件中的行,存储它们,然后在不使用模块的情况下搜索它们?

问题描述

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

身份证姓名年龄年份,

约翰一书 30 2011

2 乔治 23 2018

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

我怎样才能做到这一点?

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

标签: python

解决方案


存储表数据的一种方法是作为字典列表。

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来做到这一点。它是一个提供此类数据结构和操作的现成库。


推荐阅读