我有一个包含车辆品牌和型号及其发动机尺寸的数据文件。数据文件(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?")
我希望程序读取文件,只选择与标准相关的品牌,型号和引擎尺寸。我知道如何从文件中读取数据,但是我需要帮助解决上述问题。
答案 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