- Apple iPhone 15 Pro Max - Attack on Titan
- Itt az első kép a 2024-es Nokia 3210-ről
- Samsung Galaxy S23 Ultra - non plus ultra
- Huawei Mate 20 Pro - a mindenit!
- Vodafone mobilszolgáltatások
- Netfone
- Honor Magic6 Pro - kör közepén számok
- Xiaomi Smart Band 8 - folyamatosan
- Realme 9 Pro+ - szükséges plusz?
- Google Pixel 8 Pro - mestersége(s) az intelligencia
Hirdetés
-
Piacvezető tandem OLED panellel érkezik az iPad Pro
ma Sokat kellett várni az első OLED képernyős Apple táblagépre, állítólag megérte.
-
Toyota Corolla Touring Sport 2.0 teszt és az autóipar
lo Némi autóipari kitekintés után egy középkategóriás autót mutatok be, ami az észszerűség műhelyében készül.
-
Kihívás a középkategóriában: teszten a Radeon RX 7600 XT
ph Az AMD Full HD felbontáshoz ajánlja a legnagyobb Navi 33 alapú GPU-ját, melyet a PowerColor tálalásában próbáltunk ki.
Új hozzászólás Aktív témák
-
justmemory
senior tag
válasz #82595328 #634 üzenetére
Szia(sztok)!
Autodidakta pythonozó vagyok, leginkább öncélú szórakozásképpen írok magamnak programokat, tehát közel sem biztos, hogy a válaszom megfelelő; javítson ki, aki okosabb ebben!
Szerintem nem kell split; .strptime és .strftime átalakításokkal sok mindent el lehet érni attól függően, hogy mi a végcél.
Kiírni majd az open("fájlnév", "rw")-el tudod például.
[ Szerkesztve ]
--- Imprisoned, inside this mind... --- Joined at the soul with a pair of headphones ---
-
cousin333
addikt
válasz #82595328 #634 üzenetére
Az első pár dologban nem tudok kellően segíteni, de legalább a programot nem is kell lefordítani...
A leírtak alapján továbbra is a pandas modult favorizálnám, mivel nagyon sokrétűen használható. Hogy a példádnál maradjak:
- képes beolvasni a csv és más strukturált fájlokat
- beolvasásnál meg lehet mondani, hogy melyik oszlop(ok) tartalmaznak dátumot (pl. akár akkor is, ha az év, hónap, nap és idő 4 külön oszlopban szerepel)
- a dátum értelmezéséhez megadható saját függvény, de az ésszerűség határain belül képes értelmezni őket. Például az alábbi tesztfájlt gond nélkül beolvassa:
Szam,Datum,Szoveg,Pont
11,2016-01-01,Valami,12
21,2016-03-05,Masik, 23
31,2016-1-5,Harmadik,34
41,2016-feb-8,Negyedik,48
51,2016.08.12,Otodik,56Ehhez csak az alábbi kódot használtam:
import pandas as pd
data = pd.read_table('D:\\pandas_test.txt', sep=',', parse_dates=[1])Az eredmény pedig egy Pandas.DataFrame objektum lesz:
>>> data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 5 entries, 0 to 4
Data columns (total 4 columns):
Szam 5 non-null int64
Datum 5 non-null datetime64[ns]
Szoveg 5 non-null object
Pont 5 non-null int64
dtypes: datetime64[ns](1), int64(2), object(1)
memory usage: 240.0+ bytesLátható, hogy a Datum oszlop típusa datetime64. A beolvasott táblázat valahogy így néz ki (A legelső oszlop az index, amit jelen esetben ő maga generált):
>>> print(data)
Szam Datum Szoveg Pont
0 11 2016-01-01 Valami 12
1 21 2016-03-05 Masik 23
2 31 2016-01-05 Harmadik 34
3 41 2016-02-08 Negyedik 48
4 51 2016-08-12 Otodik 56A dt.date függvényednek szükséges formátumot is könnyen előállíthatod:
>>> x = data['Datum']
>>> x.dt.date.values
array([datetime.date(2016, 1, 1), datetime.date(2016, 3, 5),
datetime.date(2016, 1, 5), datetime.date(2016, 2, 8),
datetime.date(2016, 8, 12)], dtype=object)Ezt már megetetheted a függvényeddel. De igazából nem is biztos, hogy kell, hiszen az oszlop már dátum formátumú.
[ Szerkesztve ]
"We spared no expense"
-
#82595328
törölt tag
válasz #82595328 #634 üzenetére
Köszönöm az eddigi segítséget. Eljutottam a fájlba írásig. Itt viszont olyan gondom van, hogy adott egy lista:
[[['Kis', '2015/1', '2015-01-02', '2016-01-10', 1000, 37, 1651], ['Nagy', '2015/2', '2016-02-02', '2016-02-06', 50000, 44, 2159], ['Törpe', '2015/3', '2016-03-03', '2016-04-08', 500000, 346, 197]]Ezt fájlba írtam az alábbi paranccsal:
with codecs.open('kesz.csv','w',encoding='utf-8') as f:
for i in range(len(lista)):
f.write((str(lista)+'\n'))Ez majdnem jó is lenne, csak ezt kapom:
['Kis', '2015/1', '2015-01-02', '2016-01-10', 1000, 37, 1651]
['Nagy', '2015/2', '2016-02-02', '2016-02-06', 50000, 44, 2159]
['Törpe', '2015/3', '2016-03-03', '2016-04-08', 500000, 346, 197]Viszont ezt szeretném. Az se baj, ha ',' helyett tab van.
Kis, 2015/1, 2015-01-02, 2016-01-10, 1000, 37, 1651
Nagy, 2015/2, 2016-02-02, 2016-02-06, 50000, 44, 2159
Törpe, 2015/3, 2016-03-03, 2016-04-08, 500000, 346, 197
Új hozzászólás Aktív témák
- Debrecen és környéke adok-veszek-beszélgetek
- Formula-1
- Fejhallgató erősítő és DAC topik
- Kerékpárosok, bringások ide!
- Mozgásban a 33 Immortals
- Windows 11
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- VR topik (Oculus Rift, stb.)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Mibe tegyem a megtakarításaimat?
- További aktív témák...
- Samsung Galaxy S22 Ultra Eladó...
- Vostro 3591 15.6" FHD i5-1035G1 GeForce MX230 16GB 512GB NVMe magyar bill., gar
- ELADÓ 32 DB Nvidia RTX 3060 Ti és 8 DB Zotac Gaming Geforce RTX 3080 Trinity / KOMPLETT BÁNYAGÉP
- Intel NUC5CPYH (Celeron N3050, N3060, J3060) - 4GB RAM, 120GB SSD
- Corsair TX650 V2 650W 80+