- Hisense LCD és LED TV-k
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- OLED TV topic
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Milyen TV-t vegyek?
- Milyen belső merevlemezt vegyek?
- TCL LCD és LED TV-k
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Pánik a memóriapiacon
Ú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
- Íme, a Samsung válasza a hajlítható iPhone-ra
- Hisense LCD és LED TV-k
- Apple iPhone 17e – mágnesek ereje
- Mibe tegyem a megtakarításaimat?
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- OLED TV topic
- Nintendo Switch 2
- Kertészet, mezőgazdaság topik
- Fűnyíró topik
- További aktív témák...
- DELL Latitude 5420 Core i5-1135G7
- Eladó LG 43UN71003LB 43 4K UHD Smart TV
- Kicsibe van ennél jobb ár-ér arány? Phanteks - Enthoo Evolv ITX - PH-ES215P BK INGYEN Szállítva!
- A kis CUKISÁG! IWIN A1 ITX 600W PSU Ingyen MPL-el Érdekelhet?
- Eladó Sennheiser Momentum 3 bluetooth fejhallgató aktív zajszűréssel
- Eladó Dell Latitude 7440 Új állapotban i7-1365U 32 GB DDR5 RAM 1TB SSD Dell pro support garancia
- AKCIÓ! 4TB Seagate Barracuda ST4000 SATA HDD meghajtó garanciával hibátlan működéssel
- HP ZBook Firefly G9 - 14" hibás kijelző, i7 1255U, 16GB RAM, Nvidia T550 4GB VGA, hiányos bill.
- LG 34GS95UE - 34" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- 5G! Lenovo ThinkPad P14s Gen 4 Intel Core i7-1370P RTX A500 32GB 512GB 1 év teljeskörű garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
, ott bele kell nyúlni a kódba valamiféle vizsgálattal.
