Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Python - jak číst v řádku jed. slova  (Přečteno 4783 krát)

Sroorey

  • Návštěvník
  • Příspěvků: 26
Python - jak číst v řádku jed. slova
« kdy: 04 Června 2016, 12:10:11 »
Zdravím,

potřeboval bych pomoct se selekcí jednotlivých slov v řádku textového dokumentu a uložit případně do nějakého listu, prostě tak abych s nimi mohlo dále pracovat.

Mám záznam v textovém dokumentu o aktivitách na sdíleném disku. Ten chci přepsat do nějaké kompetentní DB (SQLite). V bashi jsem provedl určitou před-úpravu onoho záznamu, vyškrtal nechtěné řádky  a nějaké znaky, které jsem považoval za problém. Ve výsledku je z toho tohle (ukázka):

Kód: [Vybrat]
Jun  4 10:19:24 cs30 smbd_audit: alicia 10.0.0.35 b50-70 nas connect ok nas
Jun  4 10:19:31 cs30 smbd_audit: alicia 10.0.0.35 b50-70 nas open ok r pi's files/dokument 01.pdf
Jun  4 10:19:40 cs30 smbd_audit: alicia 10.0.0.35 b50-70 nas disconnect ok nas

Problém také vidím v mezerách v názvu prostředím řádku, kde na konci je přístup do dokument 01.pdf ve slože pi's files.  Tento blok by totiž měl být v jedné buňce databáze.
« Poslední změna: 04 Června 2016, 12:11:53 od Sroorey »

Yontalcar

  • Stálý člen
  • **
  • Příspěvků: 833
  • Semper fidelis
Re:Python - jak číst v řádku jed. slova
« Odpověď #1 kdy: 07 Června 2016, 09:10:59 »
Použij regulární výrazy (https://docs.python.org/3.4/library/re.html,http://www.root.cz/serialy/regularni-vyrazy/)
Problém také vidím v mezerách v názvu prostředím řádku, kde na konci je přístup do dokument 01.pdf ve slože pi's files.  Tento blok by totiž měl být v jedné buňce databáze.
Pokud tam není více polí o proměnlivém počtu slov, mělo by to být v poho
NB: ASUS X53U - AMD Brazos E450; Debian GNU/Linux Sid amd64 (KDE 4.14)
Jen dvě věci jsou nekonečné - vesmír a lidská hloupost. Tím prvním si ovšem nejsem tak jist. - Albert Einstein

ntz_reloaded

  • Lokaj
  • Závislák
  • ***
  • Příspěvků: 3735
  • skill :: ur home erly
Re:Python - jak číst v řádku jed. slova
« Odpověď #2 kdy: 07 Června 2016, 12:31:50 »
"zer" to odpredu, eg ve splitu podle \s+

[Jun  4 10:19:31] [cs30 smbd_audit: alicia 10.0.0.35 b50-70] [nas open ok r] pi's files/dokument 01.pdf

eg datum, control, akce, zbytek
tikejte mi, taky Vam tikam ...
song of the day - openSUSE, openindiana, DuckDuckGo
The noise ain't noise anymore, who's to blame, WHO'S TO BLAME ??

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:Python - jak číst v řádku jed. slova
« Odpověď #3 kdy: 07 Června 2016, 13:10:01 »
Myslím, že už to vyřešil přes maxsplit parametr, který sehnal na abíčku.

 

Provoz zaštiťuje spolek OpenAlt.