我有一个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])
答案 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
相关的内容,以获取类似文件的对象。但是,此代码段应该为您提供有关可能解决方案的基本概念。