Extragerea de informații de la text în Python

voturi
-1

Sunt nou de exploatare minieră de text. Am un fișier CSV. Trebuie să treacă prin fiecare linie și extrage câteva informații, apoi scrie-le într-un alt fișier CSV. Caut informații specifice pe care am într-un dicționar. Luați în considerare de mai jos teză:

„Versiunea de aplicare este 1.8.2 și skt.len variabilă trece informațiile necesare. Fișier readme.txt are caietul de sarcini.“

Dicționarul meu este: [ „versiune aplicație“, „variabilă“, „file“]

Am nevoie pentru a extrage:

  • Versiune aplicație: 1.8.2
  • variabila: skt.len
  • fișier: Readme.txt

Care este cel mai bun mod de a extrage astfel de informații de la text? Sunt joc cu caracteristici NLTK și StanfordCoreNLP. Dar, nu am putut extrage informațiile încă. Mă gândesc să utilizeze regex pentru a extrage versiunea aplicației. Vreo idee?

PS: Știu că acest lucru poate face sarcina mai complicată. Dar, Exemple în fiecare rând din fișierul CSV pot avea structuri diferite. De exemplu: „versiune aplicație“ într-o singură linie, poate fi „app version“, într-o altă linie. Sau „fișier“ într-o singură linie poate fi „nume de fișier“ într-o altă linie.

Întrebat 02/09/2018 la 05:25
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
1

Eu folosesc R și mai jos este unul din drum (nu cel mai bun, ci doar pentru a arăta modul în care funcționează) pentru a extrage valoarea variabilei:

>> str_extract(text, '(?<=variable\\s)(\\w+)(.)?(\\w+)?')

Acest text este întregul șir pe care le-ați partajat. Acest lucru dă-mi o ieșire

>> skt.len

Sunt sigur că există funcții similare în Python pentru a obține acest lucru și făcut obține de ieșire în format dorit.

Publicat 04/09/2018 la 11:32
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more