search列,使用python从excel返回行

我有一个csv文件与A列有date。 我想searchdate并返回数组(VERY IMPT)格式的相应行。 我将如何做到这一点使用Python? 谢谢。

excel文件:

ABC 1 12202014 403 302 2 12212014 312 674 3 12222014 193 310 

input:

  Search csv file for 12212014 

输出:

 [12212014,312,674] 

尝试代码:

 date = '12212014' with open('dates.csv', 'rt') as f: reader = csv.reader(f, delimiter=',') for row in reader: if date == row[0]: print "found the date" 

如何返回行而不是只是一个打印语句?

基本的想法是创build一个字典/映射date – > line并通过键获取值:

 import csv data = {} with open('test.csv', 'r') as f: reader = csv.reader(f) for line in reader: data[line[0]] = line date_to_find = '12212014' print data.get(date_to_find, 'Date not found') 

打印:

 ['12212014', '312', '674'] 

这有助于如果您以后需要映射来查找date。

另一种方法是使用生成器expression式遍历文件中的行,直到finddate:

 import csv date_to_find = '12212014' with open('test.csv', 'r') as f: print next((line for line in csv.reader(f) if line[0] == date_to_find), 'Date not found') 

打印:

 ['12212014', '312', '674'] 

希望有所帮助。