z XLS do TXT s kokrétní šířkou sloupců

Programy pro práci s textem, tabulkami, prezentacemi

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Lukk 4. 1. 2018 16:26

Pro inport do přenosného skeneru potřebuji vytvořit TXT soubor který bude mít na každém řádku 5 hodnot a každá hodnota musí mít určitý počet znaků. Pokud by daná hodnota nebyla vyplněna, muselo by se místo toho vložit prázné místo (mezera). Dokázali by jste nasměrovat, jak to provést? Zda by to zvládl zpracovat nějak excel (či open office). Jedná se cca o cca 10t položek, takže ručně nemožné. Aktuálně jsou data v XLS. Předem díky za každý tip. Zde pro názornost TXT čeho potřebuji dosáhnout... https://ulozto.cz/!1VJzzsMmnnFv/ctecka-txt
Lukk
Kolemjdoucí

Odeslat příspěvekod bures2 4. 1. 2018 17:23

Nejsem jsi jistý, zda jsem dobře pochopil zadání, ale nestačilo by ten excelovský soubor uložit jako > formát txt?
Bez názvu.png
Bez názvu.png (8.64 ) Zobrazeno 2538 krát
bures2
Junior

Odeslat příspěvekod Abox 4. 1. 2018 17:29

Tak problem muze byt uz jenom v tom, jake pismo tam pak nastavis...se ti to muze cele rozjet.
Naposledy upravil Abox dne 4. 1. 2018 17:59, celkově upraveno 1
Abox
Pokročilý
Uživatelský avatar

Odeslat příspěvekod JirkaVejrazka 4. 1. 2018 17:57

ulozit z Excelu jako CSV, potom v nejakem jednoduchem skriptovacim jazyku napsat cca peti- az desetiradkovy skript, ktery to CSV vypise se spravnou sirkou "sloupcu".

P.S. Spravne se pise "byste", ne "by jste".
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod zivan 4. 1. 2018 18:28

Pripadne pokud by ta sirka sloupce zavisela na datech a mela odpovidat nejvetsimu textu, tak to projet 2x, nejprve zjistit sirku kazdeho sloupce a ppak upravit.
Lenovo Moto G5 Plus, Lenovo Thinkpad X220 (12,5" IPS, i5-2410M, 16GB RAM, 500GB mSata Samsung 850 EVO + 1TB Samsung HDD) + 29" LG 29UM65 + 22" Eizo S2202W
zivan
Junior

Odeslat příspěvekod Lukk 5. 1. 2018 06:51

Děkuji všem za reakce!

bures2 píše:Nejsem jsi jistý, zda jsem dobře pochopil zadání, ale nestačilo by ten excelovský soubor uložit jako > formát txt?
Bez názvu.png

To pro tento účel bohužel nestačí.

Abox píše:Tak problem muze byt uz jenom v tom, jake pismo tam pak nastavis...se ti to muze cele rozjet.

To mi nevadí, důležitý je pro mě počet znaků.

JirkaVejrazka píše:ulozit z Excelu jako CSV, potom v nejakem jednoduchem skriptovacim jazyku napsat cca peti- az desetiradkovy skript, ktery to CSV vypise se spravnou sirkou "sloupcu".
P.S. Spravne se pise "byste", ne "by jste".

Děkuji za nasměrování, bylo by možné nakopnout ještě trochu blíže? V žádném skriptovacím jazyku jsem asi nikdy nic netvořil. Ideální by byl nějaký již vytvořený skript, který bych přetvořil k obrazu svému...
P.S. Děkuji i za pravopisné okénko ;-)

zivan píše:Pripadne pokud by ta sirka sloupce zavisela na datech a mela odpovidat nejvetsimu textu, tak to projet 2x, nejprve zjistit sirku kazdeho sloupce a ppak upravit.

Šířka sloupce je daná pevně počtem znaků. Vaši radu jsem bohužel moc nepochopil...
Lukk
Kolemjdoucí

Odeslat příspěvekod zivan 5. 1. 2018 07:39

Tak jinak, vis predem, jakou sirku maji ty sloupce? Tedy napr. prvni sloupec ma mit sirku vzdy 10 znaku, druhy 20 znaku, protoze delsi texty tam nikdy nemohou byt nebo je potreba nejprve projit vsechny texty v prvnim sloupci a pokud je tam nejdelsi text o 12 znacich, tak musi mit vsechny radky prvni sloupec siroky 12 znaku?
Lenovo Moto G5 Plus, Lenovo Thinkpad X220 (12,5" IPS, i5-2410M, 16GB RAM, 500GB mSata Samsung 850 EVO + 1TB Samsung HDD) + 29" LG 29UM65 + 22" Eizo S2202W
zivan
Junior

Odeslat příspěvekod Lukk 5. 1. 2018 07:46

Ano, to vím přesně. Šířka je daná. První sloupec 13 znaků, druhý 20, třetí 8, čtvrtý 15, pátý 6.
Lukk
Kolemjdoucí

Odeslat příspěvekod JirkaVejrazka 5. 1. 2018 09:05

Jestli nekam muzes hodit par ukazkovych dat (ve formatu CSV, treba prvnich 10 radku), tak ti na to klidne napisu skript, je to trivialni.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod Lukk 5. 1. 2018 09:41

Tady je ukázka 10-ti řádků. Pokud se do toho chceš pustit, byl bych ti moc vděčný. https://ulozto.cz/!UQvtWxC77hNm/ukazka-csv
Lukk
Kolemjdoucí

Odeslat příspěvekod JirkaVejrazka 5. 1. 2018 11:58

Hod to prosim nekam jinam, treba na pastebin.com. Na Uloz.to nepolezu, diky za pochopeni.
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod Lukk 5. 1. 2018 13:01

Lukk
Kolemjdoucí

Odeslat příspěvekod JirkaVejrazka 5. 1. 2018 13:35

Tak mam kratky skript, ktery dela tohle: https://pastebin.com/tCXH8p6k

Odpovida to zhruba puvodni predstave?

Nektere polozky se do specifikovane sirky nevejdou, ale to asi vis...
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod JirkaVejrazka 5. 1. 2018 17:48

Jelikoz mizim od pocitace, tady mas ten skript: https://pastebin.com/CjZAtqM9

Je to v Pythonu - jak nainstalovat Pytohn a spustit skript najdes treba na http://python.cz
(strucne - kod z pastebin.com si uloz treba jako "formatuj.py" a z https://www.python.org/downloads/ si stahni a nainstaluj Python 3.6)

Ocekava to vstupni soubor se jmenem "data.csv", ale da se to v tom kodu jednoduse zmenit. Vysledky vypisuje na obrazovku, ale kvuli problematickemu kodovani na Windows je lepsi to poslat rovnou do souboru, tj:
Kód: Vybrat vše
python formatuj.py > upravene.txt
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod Lukk 6. 1. 2018 19:12

Díky moc, to je skvělé! Skript jsem uložil a spustil. Data se vypsaly v okně, ale po dokončení všech řádků se okno automaticky zavře. Zkoušel jsem něco nastudovat abych byl schopen použít tvůj kód pro uložení do souboru, ale neúspěšně. Mohl bych ještě poproosit o radu ohledně uložení získaných dat do souboru.
Lukk
Kolemjdoucí


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků