如何在python中获取以下值

时间:2015-09-20 03:22:13

标签: python

我有一个以下格式的文件

.aaa b/b
.ddd e/e
.fff h/h
.lop m/n

我正在尝试阅读此文件。我想要的输出是,如果我找到“.aaa”我应该得到b / b,如果我找到“.ddd”我应该得到e / e等等。

我知道如何获取第1列和第2列,但我不知道如何比较它们并获取值。这就是我写的。

file = open('some_file.txt')

for line in file:
    fields = line.strip().split()
    print (fields[0]) #This will give 1st column
    print (fields[1]) # This will give 2nd column

这不是正确的做事方式。采取了什么方法?

3 个答案:

答案 0 :(得分:1)

任何时候你想做查找,字典就会成为你的朋友。

您可以编写一个函数来将数据加载到字典中:

while(scan.hasNext())
              {      
                 phone = scan.nextLine();
                 String[] phoneContents = phone.split(" ");
                 double b = Double.parseDouble(phoneContents[1]);
                 if(phone.contains(that))
                 System.out.println(phone + "\n");
              } 

然后用它来执行这样的查找:

def load_data(filename):
    result = dict()
    with open(filename, 'r') as f:
        for line in f:
            k,v = line.strip().split()   # will fail if not exactly 2 fields
            result[k] = v
    return result

答案 1 :(得分:1)

听起来你可能想要的是构建一个字典映射第1列到第2列。你可以尝试:

var images = images + image;

然后在您的其他代码中,当您看到' .ddd'你可以简单地从字典中获取引用(例如field_dict [' .ddd']应该返回' e / e')

答案 2 :(得分:0)

只需根据空格分割每一行,并检查第一项是否与您给出的单词匹配。如果是,则从列表中打印第二个项目。

var