我正在嘗試搜索文件中的文字。這些單詞存儲在一個單獨的列表中。 找到的單詞存儲在另一個列表中,最後返回該列表。從文件列表中搜索文件
代碼如下:
def scanEducation(file):
education = []
qualities = ["python", "java", "sql", "mysql", "sqlite", "c#", "c++", "c", "javascript", "pascal",
"html", "css", "jquery", "linux", "windows"]
with open("C:\Users\Vadim\Desktop\Python\New_cvs\\" + file, 'r') as file1:
for line in file1:
for word in line.split():
matching = [s for s in qualities if word.lower() in s]
if matching is not None:
education.append(matching)
return education
首先,它返回我有一堆空「席位」,這意味着我的比較是不工作的清單?
結果(掃描4個文件):
"C:\Program Files (x86)\Python2\python.exe" C:/Users/Vadim/PycharmProjects/TestFiles/ReadTXT.py
[[], [], [], [], [], [], [], [], [], ['java', 'javascript']]
[[], [], [], [], [], [], [], [], [], ['pascal']]
[[], [], [], [], [], [], [], [], [], ['linux']]
[[], [], [], [], [], [], [], [], [], [], ['c#']]
Process finished with exit code 0
輸入文件包含:
Name: Some Name
Phone: 1234567890
email: [email protected]
python,excel,linux
第二期的每個文件containes 3個不同的技能,但功能只發現1或2是這也是一個不好的比較,或者我在這裏有一個不同的錯誤?
我期望的結果是一個沒有空的地方找到的技能列表,並找到文件中的所有技能,而不僅僅是其中的一部分。
編輯:該功能確實發現所有的技能,當我做word.split(', ')
但如果我想它更普遍,這可能是找到這些技能的好辦法,如果我不知道究竟會將它們分開?
如果可以提供輸入文件和預期輸出會有所幫助。 – SilentMonk
編輯。謝謝! – Kiper
嘗試分割逗號而不是空格。例如,line.split() - > line.split(「,」) – Checkmate