Python 2.7:从输入中返回csv文件中的值

时间:2016-07-21 14:31:28

标签: python-2.7

我有一个csv:

T,8,101
T,10,102
T,5,103

并且需要搜索csv文件,在第3列中输入我的输入,如果找到,则返回同一行中的第2列值(搜索“102”将返回“10”)。然后我需要保存结果以用于另一个计算。 (我现在只是想打印结果..)我是python(2周)的新手,想要掌握csv文件中的读/写。所有可搜索的结果,都没有给我我需要的答案。感谢

这是我的代码:

name = input("waiting")
import csv
with open('cards.csv', 'rt') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for row in reader:
        if row[2] == name:
            print(row[1])

1 个答案:

答案 0 :(得分:0)

正如我在上面的评论中所述,我会在不使用csv-module的情况下实现一般方法:

import io

s = """T,8,101
T,10,102
T,5,103"""

# use io.StringIO to get a file-like object
f = io.StringIO(s)
lines = [tuple(line.split(',')) for line in f.read().splitlines()]

example_look_up = '101'

def find_element(look_up):
    for t in lines:
        if t[2] == look_up:
            return t[1]

result = find_element(example_look_up)
print(result)

请记住,这是Python3代码。如果使用Python2,则需要将print()替换为print,并且可能会更改与我在此处用于演示目的的StringIO相关的内容,以获取类似文件的对象。但是,此代码段应该为您提供有关可能解决方案的基本概念。