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
Fórum › Python
Indexace a vyhledavani v souboru
Rozsekáš ten soubor na slova, tzn. mezery, čárky atd. Načteš to do seznamů a potom zarazuješ do souboru :smile4:
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 :)
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
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.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Indexace tabulky pro rychlé vyhledávání — založil šnekr
Vyhledavani v souboru — založil panpanini
PHP Vyhledavaní v souboru — založil Petr
Vyhledávání souborů a složek na disku — založil Martin h.
Vyhledávání nejdelšího opakujícího se substringu v txt souboru — založil dreIx
Moderátoři diskuze