- Samsung Galaxy A54 - türelemjáték
- Milyen okostelefont vegyek?
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Igazi csúcskészülék lett a Poco F7 Ultra
- Xiaomi 15 - kicsi telefon nagy energiával
- MIUI / HyperOS topik
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Android alkalmazások - szoftver kibeszélő topik
- Apple Watch
- Apple iPhone 13 Pro Max - őnagysága
Új hozzászólás Aktív témák
-
cousin333
addikt
válasz
privacy99
#119
üzenetére
Üdv!
A te példád alapján, de nem teljesen azt folytatva (szóval még dolgozni kell rajta), nekem ez jött ki. Hozzáteszem, hogy én Python 3.2.3-at használtam, ami nem teljesen kompatibilis a 2.7-es szériával (amit a kódod alapján te használtál). Szóval a kód:
# előregyártott fejléc a sorok egyes elemeihez
rekord = ['Kod', 'Repter', 'Terv', 'Indulas', 'Terminal', 'Megjegyzes']
# a fájl megnyitása olvasásra, ez a "with" szerkezetes megoldás a végén be is zárja azt, a fájl objektum neve (a példád alapján) f1
with open('d:\\text.txt', 'r') as f1:
# adatok beolvasása soronként, sorvégi újsor karakterek ("\n") levágása
# egy-egy sor szétbontása tabulátorokkal határolt elemekre
# könyvtár-listát hoz létre az elemekből a "rekord" nevű fejlécekkel
# az üres sorokat kihagyja
# 'Terminal': '1', 'Indulas': '05:59', 'Terv': '06:00'}
adatok = [dict(zip(rekord, i.strip('\n').split('\t'))) for i in f1 if i != '\n']
# teljes fájl beolvasva az "adatok" nevű listába
# példa az első elemre (adatok[0]):
# {'Megjegyzes': 'Felszállt', 'Repter': 'London Luton', 'Kod': 'W62201', ...
# 'Terminal': '1', 'Indulas': '05:59', 'Terv': '06:00'}
# az időkülönbségek számításához kell ez a könyvtár
from datetime import datetime as ido
# végignézzük az összes bejegyzést
for adat in adatok:
terv = ido.strptime(adat['Terv'], '%H:%M') # a "terv" egy időobjektum lesz a szövegből a megadott formátummal
teny = ido.strptime(adat['Indulas'], '%H:%M') # a "teny" egy időobjektum lesz a szövegből a megadott formátummal
kulonb = teny - terv # a két időpont különbsége (egy datetime.timedelta objektum)
adat['Diff'] = kulonb.total_seconds() / 60 # a differenciát hozzáírjuk (mp -> perc)
#megnyitunk egy másik fájl adatmentésre
with open('d:\\kimenet.txt', 'w') as f2:
# kiírjuk bele azokat az elemeket (a megadott adatokkal, tabulátorral elválasztva), amiknél az időkülönbség pozitív
[f2.write('\t'.join([elem['Kod'], elem['Repter'], str(elem['Diff'])]) + '\n') for elem in adatok if elem['Diff'] > 0]Vannak benne kommentek is, remélem azzal együtt érthető lesz. Ha egy sorban nincs várható időpont az a beolvasásnál nem baj, feltéve, hogy a tab-ok ki vannak neki hagyva. A számolásnál már gond lehet
, ott bele kell nyúlni a kódba valamiféle vizsgálattal.
Új hozzászólás Aktív témák
- Renault, Dacia topik
- Milyen légkondit a lakásba?
- EAFC 26
- Samsung Galaxy A54 - türelemjáték
- Kínai és egyéb olcsó órák topikja
- Milyen okostelefont vegyek?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Házimozi belépő szinten
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- További aktív témák...
- Új Western Digital Blue 3.5 1TB 7200rpm 64MB SATA3 (WD10EZEX) HDD
- AKCIÓ 03.30-ig!!! RYZEN 7 5800X +hűtött VRM-es A520M/B550M lap +16GB hűtőbordás DDR4 kit! GAR/SZÁMLA
- Apple MacBook Pro 14 M1 Pro, 16GB / 512GB, 95% akku, szép állapot, Space Grey szín!
- Samsung SCX-3405W lézernyomtató / scanner / fénymásoló WIFIS!
- ASUS A7PRO RETRO SOCKET 462 ALAPLAP, AMD ATHLON 800 MHZ CPU
- AKCIÓ! MacBook Pro 13 M1 8GB RAM 512GB SSD notebook garanciával hibátlan működéssel
- Keresünk iPhone 16/16e/16 Plus/16 Pro/16 Pro Max
- iPhone 13 Pro 128GB 100% (1év Garancia) - ÚJ EREDETI AKKUMULÁTOR
- AKCIÓ! LENOVO ThinkPad P15s Gen2 munkaállomás - i7 1165G7 16GB DDR4 512GB SSD Quadro T500 4GB W
- MINDENFÉLE Laptop jó áron nézz körül! 60+ hirdetés Üzleti,Gamer, Multimédiás,Tervező
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
, ott bele kell nyúlni a kódba valamiféle vizsgálattal.
