我有一個csv文件partList.csv
,它帶有我想要用來搜索大量txt文件的字符串。由於某些原因,當我使用直接字符串'L 99'時,我得到了一個結果。當我從csv加載字符串L 99時,我得不到任何結果。在使用Python中的csv模塊搜索字符串時遇到問題
partList.csv
僅包含第一列中帶有部件號的單元,其中一個是L-99。 txt_files_sample\5.txt
的是,在某些時候包含字符串文本文檔數據L 99
我的代碼:
def GetPartList():
partList = []
f = open('partList.csv', 'rb')
try:
reader = csv.reader(f)
for row in reader:
part = row[0].replace('-',' ').strip()
partList.append(part)
finally:
f.close()
return partList
def FindFileNames(partList):
i = 0
files = []
for root, dirs, filenames in os.walk('txt_files_sample'):
for f in filenames:
document = open(os.path.join(root, f), 'rb')
for line in document:
if partList[i] in line:
#if 'L 99' in line:
files.append(f)
break
i = i + 1
return files
print FindFileNames(GetPartList())
的代碼,因爲它凌駕於生產:
>>> []
如果我取消if 'L 99' in line:
並註釋掉if partList[i] in line:
我得到結果:
>>> ['5.txt']
爲什麼你用'i'來索引'partList'?您正在測試'partList'中的每個元素對*不同文件*。 'partList'包含什麼? –
是的,我一直在看我自己。我要編輯一下,讓我知道你的想法。 – kevinaskevin