我的目標是爲一個值搜索一個小的csv文件(一列,幾百行)。 csv中的行都是數字。這裏是我的嘗試:您可以使用Python搜索csv的值嗎?
import csv
#read csv file
csv_reader = csv.reader(open('test.csv', 'rU'))
length_list = len(list(csv_reader))
value = []
for line in csv_reader:
value.append(line) #transfer contents of csv to list
def find_voucher(input_voucher, counter):
while counter < length_list:
check_voucher = input_voucher in value[counter]
if check_voucher == True:
print "TRUE"
else:
print "FALSE"
counter = counter + 1
find_voucher(1000,1)
當我運行該腳本,我得到這個錯誤:
check_voucher = input_voucher in value[counter]
IndexError: list index out of range
首先第一件事情:你的簡化腳本完美。我對python仍然很陌生,我沒有深入研究「with」。 – 2012-03-23 01:50:33
@BrandonDorris在這種情況下,'with'語句會自動關閉文件。這個例子的主要觀點是'return'部分,向您展示如何非常容易地測試文件中是否存在行。 Python中有很多對象是迭代器,所以你可能會碰到再次意外消耗它們的問題。 – agf 2012-03-23 02:23:32