Indexace a vyhledavani v souboru – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Indexace a vyhledavani v souboru – Python – Fórum – Programujte.comIndexace a vyhledavani v souboru – Python – Fórum – Programujte.com

 

Igor
~ Anonymní uživatel
17 příspěvků
5. 10. 2009   #1
-
0
-

zdravim, potřeboval bych pomoct s vyhledávání slov v souboru, nebylo by to nic složitého, kdyby:

- mám vstupní soubor(dejme tomu nějaký článek uložený v souboru) a mám z něj udělat soubor, ve kterém se objeví slova ze vstupního souboru zapsaná pod sebou, abecedně seřazena a nesmí se opakovat, u kažého slova budou indexy řádku původního souboru, kde se nacházela

-výsledne vyhledávání bude probíhat v novém souboru, kdy mi funkce vráti vždy indexy, kde se daná slovo nacházelo

treba slovo
ahoj 1,12,22,33
brouk 2,12,22,23

když budu chtít vyhledat slovo ahoj, vratí mi funkce indexy 1,12,22,33 odpovidajcí řádkům původního souboru

byl bych rád o nástin řešení, díky moc za pomoc, Igor

Nahlásit jako SPAM
IP: 82.114.196.–
sputnikone+1
Věrný člen
5. 10. 2009   #2
-
0
-

Rozsekáš ten soubor na slova, tzn. mezery, čárky atd. Načteš to do seznamů a potom zarazuješ do souboru :smile4:

Nahlásit jako SPAM
IP: 147.251.201.–
Igor
~ Anonymní uživatel
17 příspěvků
5. 10. 2009   #3
-
0
-

To sputnikone : rozsekane to mam, ale jak to zaradim do vubec nevim:/

Nahlásit jako SPAM
IP: 82.114.196.–
Spectator0
Věrný člen
5. 10. 2009   #4
-
0
-

To Igor : podle abecedy např. vestavěnou funkcí sort()

Nahlásit jako SPAM
IP: 89.176.18.–
. . .
Igor
~ Anonymní uživatel
17 příspěvků
5. 10. 2009   #5
-
0
-

To Spectator : no tim to seradim abecedne, ale mne neni jasne toto jak udelam toto:
kdyz budu zapisovat slova a indexy na jednotlive radky, jak zapisu k nejakemu slovu, co uz mam ulozene dalsi index

pr. na prvnim a druhem radku mam:
ahoj jak se mas
ahoj mam se dobre

ahoj 1,2
dobre 2
jak 1
se 1,2
atd.

tedy kdyz uz to mam nekde na radku, ak tam pridam k tomu slovu a indexu dalsi index, doufam, ze se to da z toho pochopit, co myslim :)

Nahlásit jako SPAM
IP: 82.114.196.–
Igor
~ Anonymní uživatel
17 příspěvků
5. 10. 2009   #6
-
0
-

kousek kodu

file = open("zkouska.txt","rt")
infile = open("zk.txt","wt")
lst = []
poc = 1
radek = file.readline()
while radek:
radek.strip(" " or "\n")
key = poc
pom = radek.split(" " or ";" or "," or "\"" or "\'" or "\\" or "." or "?" or "!" or "\n")
lst = pom
for x in range(len(lst)):
infile.write(str(lst[x])+" "+str(key)+"\n")

poc = poc + 1
radek = file.readline()
infile.close()

toto mi zapise do souboru rozsekany radky puvodniho souboru s indexy, ale potrebuju slova, co se opakuji mit na jednom radku a u nic indexy tedy misto ahoj 1, ahoj 2=>ahoj 1,2 a to nevim, jak udelat

Nahlásit jako SPAM
IP: 82.114.196.–
Spectator0
Věrný člen
5. 10. 2009   #7
-
0
-

To Igor :
S tim zapisem, udělej si nejdřív nějaký zásobník, (seznam, nebo něco) tam si nejdřív ukládej slova a indexy, když najdeš v seznamu shodu slova, tak jen přidej index až přečteš celý soubor, tak si ho seřaď a pak až zapiš do souboru rozhodně bych nezapisoval jedno po druhém


třeba si to do toho souboru ukladej v nejakem specifickem formatu. Ukladas to na jednotlive radky, tak nevidim problem v tom, udelat v podstate totoznou vec jako s ctenim textu, prectes radek a vis ze třeba dvojteckou oddelujes slovo od indexů indexy odděl třeba čárkou, pak to jen přečti.


Nahlásit jako SPAM
IP: 89.176.18.–
. . .
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 10 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý