meta data for this page
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
| shell:riportok:gather_data:dsmadmc_to_excel.sh [2026/03/03 21:14] – admin | shell:riportok:gather_data:dsmadmc_to_excel.sh [2026/03/03 21:29] (aktuális) – admin | ||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| - | < | + | <WRAP prewrap> |
| + | < | ||
| + | #!/bin/bash | ||
| set -e | set -e | ||
| SCRIPT_DIR=" | SCRIPT_DIR=" | ||
| Sor 48: | Sor 50: | ||
| pass | pass | ||
| return val | return val | ||
| + | |||
| + | def looks_like_number(val): | ||
| + | """ | ||
| + | if not val: | ||
| + | return False | ||
| + | # Csak szamjegyek, vesszo, pont, szokoz, minusz | ||
| + | cleaned = val.replace(',', | ||
| + | return cleaned.isdigit() | ||
| def remove_hdr(c): | def remove_hdr(c): | ||
| Sor 75: | Sor 85: | ||
| ls = c.split(' | ls = c.split(' | ||
| | | ||
| - | # Megkeressuk a kotojelsor indexet | ||
| di = None | di = None | ||
| for i, l in enumerate(ls): | for i, l in enumerate(ls): | ||
| Sor 84: | Sor 93: | ||
| return None | return None | ||
| | | ||
| - | # Fejlec sorok: kozvetlenul a kotojelsor ELOTT levo sorok | ||
| - | # DE: csak azok a sorok, amik NEM ures sorok es NEM info sorok (pl. " | ||
| - | # Visszafele megyunk a kotojelsor elott es megkeressuk a fejlec sorokat | ||
| header_end = di | header_end = di | ||
| header_start = di | header_start = di | ||
| Sor 92: | Sor 98: | ||
| line = ls[i].strip() | line = ls[i].strip() | ||
| if line == '': | if line == '': | ||
| - | # Ures sor - itt kezdodik a fejlec blokk | ||
| header_start = i + 1 | header_start = i + 1 | ||
| break | break | ||
| - | # Ha nem ures, akkor ez fejlec sor VAGY egy info sor | ||
| - | # Info sorok altalaban mondatszeruek (pl. " | ||
| - | # Fejlec sorok altalaban fejlec-szeruek (oszlopnevek) | ||
| header_start = i | header_start = i | ||
| | | ||
| Sor 155: | Sor 157: | ||
| if prev_val: | if prev_val: | ||
| if prev_val.endswith(' | if prev_val.endswith(' | ||
| + | # Kotojellel vegzodik -> egybeírjuk | ||
| cr[idx] = prev_val[: | cr[idx] = prev_val[: | ||
| + | elif looks_like_number(prev_val) and looks_like_number(cell_val): | ||
| + | # Mindketto szam -> egybeírjuk (szam tortese) | ||
| + | cr[idx] = prev_val + cell_val | ||
| else: | else: | ||
| + | # Szoveg -> szokozzel | ||
| cr[idx] = prev_val + ' ' + cell_val | cr[idx] = prev_val + ' ' + cell_val | ||
| else: | else: | ||
| Sor 305: | Sor 312: | ||
| PYEOF | PYEOF | ||
| - | </ | + | </file></ |