» »

kopiranje dela teksta iz večih datotek

kopiranje dela teksta iz večih datotek

kerrigh ::

Imam več html datotek v mapi in iz vsake datoteke bi rad dobil le en del podatkov. Podatki, ki jih rabim so v vseh datotekah označeni enako(isti tip podatkov). Datoteke lahko odprem kot html kodo lahko kot html stran in tudi kot .xls za excel, etc.
Podatke bi želel iz vseh datotek naenkrat, po vrstnem redu kopirati v nov txt,xls,...dokument

Za primer, kaj bi hotel:

file1

jasgdsagdw ime: korenje ashgduasgd ime2: jabolka dskjsidgsa ime3: koruza aksjdghasgda
asdsahdasdho

file2

sadgsagjdgkas ime: banane skajdghiuegdh ime2: avto askdhiauwdhiuawdhsdf
sdfsd ime3: gozd giuouigk

Iz obeh teh datotek bi želel samo imena:

file3

korenje
jabolka
koruza

banane
avto
gozd

Datoteke imajo različna imena, podatki pa so znotraj html kode. Zanimata me dva class-a v vsaki datoteki. Če torej lahko kdo pomaga pri tem, v poštev pride karkoli programskega, linux command line, wget...
kerrigh

kerrigh ::

Karkoli, ideja, koda, skripta
kerrigh

kuall ::

kerrigh ::

Ok, bom malo drugače napisal.
Imam 1000 excel fajlov in bi iz vsakega rad kopiral prve 4 celice in še zraven vse celice (teh je od 0 - 2 v vsakem fajlu), ki se začnejo z +. Vse celice, ki me zanimajo so v prvem stolpcu v vsakem fajlu.

Po možnosti bi jih zložil v nov excel fajl in sicer celice posameznega fajla zaporedoma v svojo vrstico.
kerrigh

mojca ::

Primer skripte v Ruby-ju:
#!/usr/bin/env ruby

Dir.foreach('.') do |f|
	# dovoljeno ime datoteke, ki te zanima
	if f =~ /[.]html$/ then
		lines = File.open(f).readlines.join
		lines.scan(/ime\d*:\s*(\w+)/) do |name|
			puts name
		end
		puts
	end
end

Ampak če imaš HTML, boš morda potreboval malenkost bolj napredno iskanje po kodi. Za HTML je uporabno orodje nokogiri, ampak vse je odvisno od konkretnega primera.

Imaš torej XSLX oz. XML datoteke?

Zgodovina sprememb…

  • spremenila: mojca ()

kerrigh ::

Datoteke so .html, s tem da jih lahko odprem v excelu, kjer so prve 4 vrstice tiste, ki bi jih rad kopiral v nov xml/xlsx . V html kodi to seveda niso prve 4 vrstice. Bom poskusil tvoje predloge.
kerrigh

kuall ::

ne znaš jasno razložiti problema. še sam ne veš kaj bi rad?

kerrigh ::

index.html?q=node%2F1
imam 1000 takšnih datotek,(v imenih se spreminjajo znaki za %, napr: index.html?q=node%2F99). V vseh je podobna html koda iz katere bi želel nekaj podatkov.
Podatki, ki jih želim so v kodi v vseh datotekah na enakem mestu (v dveh "class"-ih izmed mnogih v vsaki datoteki).

Če odprem v excelu, kjer ne prikaže kode, so to prve štiri celice prvega stolpca (in še vrstice, ki se začnejo z -). Torej en način bi bil, da kopiram iz excela, brez html kode.
Drugi pa, da določim od kje do kje v kodi bi želel skopirati podatke.
Kar je SF pa, da skopiram to naenkrat iz vseh datotek in da mi jih zapisuje po vrsti, v vsako vrstico podatke iz ene datoteke.

Šlo bi tudi brez kopiranja tako, da pobrišem vse drugo razen tega kar rabim.
kerrigh

kerrigh ::

Pri drugem načinu, za kopiranje dela teksta bi moral določiti od parametre, od kje do kje naj kopira.
Sevede so še drugi načini. Eden bi bil, da prevedem kodo (kar sem napisal o excelu) v txt ali karkoli in potem kopiram po vrsticah, ker so podatki, ki jih želim, potem v prvih štirih vrsticah.
kerrigh

mojca ::

(1) Znaš kateri programski jezik oz. si se ga pripravljen naučiti? Ali (2) iščeš rešitev, ki bo delovala out-of-the-box, ne da bi se ti bilo potrebno poglobiti v detajle?

Če prvo, bo pomagalo, če napišeš, s katerimi orodji imaš vsaj malo izkušenj ali si jih želiš imeti, in morebiti zastaviš vprašanje malenkost bolj specifično, da dobiš kakšen namig. Nalogo lahko rešiš v kateremkoli programskem jeziku, najlažje/najhitreje s kakšnim skriptnim jezikom s podporo za regularne izraze, npr. python, ruby, perl, ... zares pa v kateremkoli jeziku.

Če drugo in če bo kdo pripravljen spisati kodo namesto tebe, si pa verjetno dal bistveno premalo podatkov.

Moja ruby koda iz datotek file1 in file2 sicer vrne natanko zahtevano, ne pomaga pa ti, ker tvoje dejanske datoteke uporabljajo drugačen format (bogsigavedi, kakšen) in bi moral spremeniti regularen izraz za luščenje podatkov.

kerrigh ::

raje bi rešitev 2, kot rešitev 1.

Poznam nekaj jezikov, bolj podrobno samo c++.
Lahko malo razložiš kodo, vsaj vsako vrstico. Kje si definirala imena fajlov (sta to f in name), kako bi dodal parametre od kod do kod naj kopira.
kerrigh


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

program za pomoč pri tiskanju 200+pdf dokumentov

Oddelek: Pomoč in nasveti
252085 (1137) HotBurek
»

Excel kopiranje vsebine iz zaklenjene celice brez odklepa

Oddelek: Pomoč in nasveti
151512 (1250) mirator
»

mysql, permutacije in besede v slovarju

Oddelek: Programiranje
151674 (1364) Hayabusa
»

izpisovanje datotek in sortiranje

Oddelek: Programiranje
6716 (538) cobrica
»

C# Problem

Oddelek: Programiranje
131166 (962) joze67

Več podobnih tem