我的代碼的目的是讀取文本文件,將行添加到數組中,迭代數組中的每個元素,將元素轉換爲一個字符串,並從csv文件返回包含此字符串的行。我的代碼是:Python嵌套循環以匹配字符串從文本文件到csv文件中的字符串
#Read cvs File from url
import csv
import urllib2
url = 'mycsvfile.csv'
response = urllib2.urlopen(url)
cr = csv.reader(response)
#Read txt File
import linecache
fileName = 'myfile.txt'
myFile = open(fileName,'r')
list_of_lists = []
try:
for line in myFile:
list_of_lists.append(line.strip())
#Lookup Lines
for element in list_of_lists:
elementstring=''.join(element)
for row in cr:
if elementstring in row:
print row
finally:
myFile.close()
該代碼不顯示任何內容。
我看不到任何明顯問題。爲什麼不添加'print repr(elementstring)'和'print repr(row)'來查看元素是否真的匹配? –
順便說一下,你的'list_of_lists'不會包含列表,而只是字符串,所以'''.join'是毫無意義的。另外,爲什麼要創建'list_of_lists',而不是直接迭代文件? –
我同意@tobias_k,並會添加一件事:您是否使用過Python調試器?調試器可以讓你一行一行地查看代碼,並查看每個步驟的所有變量。這是理解你的代碼真正在做什麼的好方法,所以你不必說「它不工作,我不知道爲什麼。」我寫了[這裏有幾個Python調試器](http://stackoverflow.com/a/16474706/1202830)。 –