阅读特定数据

时间:2015-10-12 11:02:17

标签: python python-3.x

我有一个包含车辆品牌和型号及其发动机尺寸的数据文件。数据文件(txt文件)看起来像这样(我只添加了一些例子):

Vauxhall
Astra
1.2
Vauxhall
Corsa
1.4
VW
Polo
2.0
BMW
3Series
3.0

我想要做的是只从该文件中提取特定数据。例如,有一个输入语句:

Search = input("Please select the Make of vehicle?")

我希望程序读取文件,只选择与标准相关的品牌,型号和引擎尺寸。我知道如何从文件中读取数据,但是我需要帮助解决上述问题。

1 个答案:

答案 0 :(得分:1)

如果数据库不是一个选项,那么tmoreau建议的方法将会起作用,尽管它不如基于数据库的方法有效。我将进一步发展这种方法:

逐行读取您的输入文件并将其存储在列表列表中,每个内部列表包含3个项目:make,model,engine


    list_of_list = []
    current_list = []
    index = 0
    in_file = open(input_file,'r')
    line = in_file.readline()
    while(line):
     while index < 3:
            current_list.append(line)
            index = index + 1
            line = in_file.readline()
        index = 0
        list_of_list.append(current_list)
        current_list = []

这应该创建一个列表列表。现在基于用户查询;您可以检查内部列表的索引:例如,如果用户查询是引擎,则检查每个嵌套列表的第2个元素。因此,第一步是弄清楚用户询问的是什么。一旦你完成了;你可以像下面那样继续: 假设用户想要基于模型(嵌套列表中的索引1)进行查询,并想查询有关说corsa的信息。 你应该有像这样的变量


    index_reqd = 1 (translate user input to index) 
    var = corsa


    for nest_list in list_of_list:
         if net_list[index_reqd] == var:
             print net_list