I m einen Satz aus Excel-Datei zu lesen (bio Daten enthalten) und wollen die Organisationen extrahieren, wo sie arbeiten. Die Datei enthält auch Sätze, die angeben, wo die Person studiert. ex:wie auszuschließen Sätze bestimmtes Wort enthalten
- i in 'x' instition studierte (Universität)
- i m Student in 'y' College
ich diese Art von Sätzen überspringen will.
ich regulären Ausdruck verwenden diese Sätze anzupassen, und wenn sie im Zusammenhang mit Schülern dann den Teil überspringen, und nur andere Linien i in einer separaten Excel-Datei schreiben mag.
mein Code wie unten ..
CSVData = pandas.read_csv ("dateiname.csv", ""); für Daten in CSVData:
regEX=re.compile('|'.join([r'\bstudent\b',r'\bstudy[ing]\b']),re.I)
matched_data=re.match(regEX,data)
if matched_data is not None:
continue
else:
## write the sentence to excel
Aber, wenn ich die neu erstellte Excel-Datei zu überprüfen, enthält es noch die Sätze, die ‚Student‘, ‚Studie‘ enthalten. Wie regulärer Ausdruck geändert werden kann, um das Ergebnis zu erhalten. hier
ich nicht Python verwenden und nicht wissen, wie String 'format'works, aber' \ b {} \ b 'sieht seltsam . Ist es richtig? – ClasG
@ClasG: Leere '' {} in der 'format' Methode [* verweist implizit das erste Positions Argument *] (https://docs.python.org/2/library/string.html#format-string-syntax) . –
OK. Aber das würde bedeuten, dass es zu '\ bstudent | study (?: Ing) \ b' erweitert wird, was zum Beispiel" studentdorm "und" chemiestudy "erlaubt. (Ich weiß, dass man Wörter auf Englisch nicht miteinander verbindet, aber ...) Könnte, was OP will, aber nicht, was der Beispielcode impliziert. Sprechen Sie wieder nicht Python, aber könnte es "korrigiert" werden, indem man das ''|'' in '\ b | \ b'' ändert? – ClasG