{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "kl_py_file_kezeles.ipynb", "provenance": [], "collapsed_sections": [], "include_colab_link": true }, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "cells": [ { "cell_type": "markdown", "metadata": { "id": "view-in-github", "colab_type": "text" }, "source": [ "\"Open" ] }, { "cell_type": "markdown", "metadata": { "id": "RdQLifeiXOjs", "colab_type": "text" }, "source": [ "

\n", " \n", " \n", "

\n", "\n", "\n", "

\n", "\n", "\n", "\n", "# Python file kezelés\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "collapsed": true, "id": "ZozVVN7mlTuG" }, "source": [ "# File kezelés txt, csv, xls, json, xml\n", "\n", "\n", "\n", "## Numpy filekezelő rutinok\n", "A numpy csomag array típusú változói számos előnyös tulajdonsággal rendelkeznek a sima list típusú változókhoz képest. \n", "A numpy csomag biztosít néhány hasznos filekezelő rutint, melyek az array tipusú változók file-ba kiírására, illetve file-okból történő beolvasására használhatóak. \n", "\n", "\n", "\n", "### Numpy bináris I/O\n", "\n", "Nagy tömbök kiíratása szöveges fájlokba nagyon lassú lehet. \n", "\n", "Nagyon fontos a gyors kiírás-beolvasás, érdemes lehet a numpy bináris save-load függvényeit használni.\n", "\n" ] }, { "cell_type": "code", "metadata": { "id": "obPEcBkHXOjv", "colab_type": "code", "colab": {}, "outputId": "1af7cc0e-78b3-421b-f632-e325d094f019" }, "source": [ "%pylab inline \n", "# Populating the interactive namespace from numpy and matplotlib\n", "import random\n", "import os, sys\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "\n", "#nagyobbacska tomb\n", "a = list(range(20))\n", "for i in range(20):\n", " a[i]= i+1\n", "# a.add(random.randint(1, 2048))\n", "# a=random.random((2048,2048))\n", "# a= random.randint(1, 2048)\n", "print('------ mentés v1')\n", "%time savetxt('out_tmp.txt',a)\n", "print('------ mentésv2')\n", "%time save('out_tmp.npy',a)\n", "print('------ olvas v1')\n", "%time a1=loadtxt('out_tmp.txt')\n", "print('------ olvas v2')\n", "%time a2=load('out_tmp.npy')\n", "print('------ filek mérete')\n", "# !du -h data/out_tmp.txt\n", "# !du -h data/out_tmp.npy" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n", "Jelenlegi munka könyvtár1 c:\\Users\\User\\Documents\\kepek\\allat\n", "------ mentés v1\n", "Wall time: 1e+03 µs\n", "------ mentésv2\n", "Wall time: 0 ns\n", "------ olvas v1\n", "Wall time: 999 µs\n", "------ olvas v2\n", "Wall time: 0 ns\n", "------ filek mérete\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "yrIByXW6XOj0", "colab_type": "code", "colab": {}, "outputId": "6d04ae1a-b3f0-4484-8244-4738cb6f1a26" }, "source": [ "import numpy as np\n", "np.array([1, 2, 3]).tofile(\"a.bin\")\n", "\n", "print (np.fromfile(\"a.bin\", dtype=np.int64))" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "[8589934593]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "XEIiqOA9XOj3", "colab_type": "code", "colab": {} }, "source": [ "\n", "\n", "## A hdf fájlok\n", "\n", "A Hierarchical Data Format vagy röviden hdf, egy széles körben elterjedt formátum nagymennyiségű tudományos adatok tárolására, és megosztására. Két fontos verziója használatos, melyek nem igazán kompatibilisek. Itt a HDF5-ös fájlok megnyitásáról lesz szó, mely jelentősen egyszerűbb adatcsoportosítást használ az elődjénél (4-es verzió).\n", "\n", "A HDF5 fájlok esetében az értékes adatokat csoportokba, és alcsoportokba lehet rendezni, melyek között lehetőség van hivatkozásokat tenni. Úgy lehet elképzelni, mint egy kisebb fajta könyvtárszerkezetet, melyben szerteszét vannak az adatok.\n", "\n", "A HDF5 fájlok belső szerkezete két fő egységből építhető fel, mint ahogy az ábrán is látszik. Leíró részek azaz metadatok illetve maguk az adatok. Az adatokat többdimenziós adattáblákban tároljuk.\n", "\n", "Maga a HDF5 fájl belső csoportosítása hasonlóan hívható meg, mint egy hagyományos könyvtárstruktúra. Itt is definiálva van a \"root\" csoport, aminek alcsoportjai vannak, melyeknek (mint a könyvtárainknak) neveket adjhatunk. Egy adott adattömb elérési útvonala: /\"csoportnév\"/adatok\n", "\n", "A pythonban a hdf5 fájlokat a h5py csomag tudja legegyszerűbben beolvasni, így itt ennek a működését mutatjuk be.\n", "\n", "A HDF5 fájlok nagyon hatékonyan tudják a bonyolult adatszerkezeteket tárloni. A hatékony adattárolást nagyban segíti, \n", "hogy az adattömbök különböző relációkat és összefüggéseket is eltárolhatnak. \n", "Ennek persze az az ára, hogy az ilyen fájlok felhasználó általi olvasása nehezebb, mint az egyszerű szövegfájlok esetén, \n", "a konkrét adatok eléréséhez ismerni kell ezen fájlok felépítését.\n", "\n" ], "execution_count": 0, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "-89th-WKXOj6", "colab_type": "text" }, "source": [ "\n", "\n", "## H5 filek használata\n", "\n" ] }, { "cell_type": "code", "metadata": { "id": "wqp1LlWoXOj7", "colab_type": "code", "colab": {}, "outputId": "3efcac78-055d-4150-ed46-bc8b926ab62d" }, "source": [ "import h5py\n", "f = h5py.File(\"store.h5\", \"r\")\n", "print(list(f.keys()) )# ha nem rendezzük listába akkor nem írja ki szépen!\n", "print('--------------1')\n", "print(list(f[\"data\"].keys()) )\n", "print('--------------2')\n", "print(list(f[\"data\"].values()) )\n", "print('--------------3')\n", "\n", "\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "['data']\n", "--------------1\n", "['axis0', 'axis1', 'block0_items', 'block0_values', 'block1_items', 'block1_values', 'block2_items', 'block2_values']\n", "--------------2\n", "[, , , , , , , ]\n", "--------------3\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "FqeX7usuXOj-", "colab_type": "code", "colab": {}, "outputId": "26fe19c7-d8c9-4f84-e1bd-763de2d5d4ee" }, "source": [ "import os, sys\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "\n", "df = pd.DataFrame([[1, 1.0, 'a']], columns=['x', 'y', 'z'])\n", "df.to_hdf('store.h5', 'data')\n", "reread = pd.read_hdf('store.h5')" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Jelenlegi munka könyvtár1 c:\\Users\\User\\Documents\\kepek\\allat\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "09Wu2MWJXOkB", "colab_type": "code", "colab": {}, "outputId": "25251096-732d-4156-bb26-9eeeae4de24d" }, "source": [ "import glob\n", "glob.glob('*.ipynb') ## .ipynb kiterjesztéső fájlok az aktuális könyvtárban. \n" ], "execution_count": 0, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "['kl_diagrammok_minta.ipynb',\n", " 'kl_python_alapok2.ipynb',\n", " 'kl_python_sqlite_minta_01.ipynb',\n", " 'kl_py_adatelemzes_pandas.ipynb',\n", " 'kl_py_alapok_01.ipynb',\n", " 'kl_py_basic.ipynb',\n", " 'kl_py_comprehension.ipynb',\n", " 'kl_py_diagramok_2D.ipynb',\n", " 'kl_py_file_kezeles.ipynb',\n", " 'kl_py_interakcio.ipynb',\n", " 'kl_py_jupiternb_muvelek.ipynb',\n", " 'kl_py_kepzaj_javito.ipynb',\n", " 'kl_py_kep_mod.ipynb',\n", " 'kl_py_kezdolepes.ipynb',\n", " 'kl_py_magikus_metodusok.ipynb',\n", " 'kl_py_markdown.ipynb',\n", " 'kl_py_okt_01.ipynb',\n", " 'kl_py_okt_02.ipynb',\n", " 'kl_py_okt_03.ipynb',\n", " 'kl_py_okt_04.ipynb',\n", " 'kl_py_okt_05.ipynb',\n", " 'kl_py_okt_06.ipynb',\n", " 'kl_py_okt_07.ipynb',\n", " 'kl_py_okt_08.ipynb',\n", " 'kl_py_okt_09.ipynb',\n", " 'kl_py_ora_xls_ki.ipynb',\n", " 'kl_py_plotly.ipynb',\n", " 'kl_py_random.ipynb',\n", " 'kl_py_regexp.ipynb',\n", " 'kl_py_scraping01.ipynb',\n", " 'kl_py_teszt.ipynb',\n", " 'kl_py_vezerlok.ipynb',\n", " 'kl_py_web_kep_letolt.ipynb',\n", " 'kl_py_web_scrawler.ipynb',\n", " 'kl_py_word_cloud.ipynb',\n", " 'kl_py_xls.ipynb']" ] }, "metadata": { "tags": [] }, "execution_count": 1 } ] }, { "cell_type": "markdown", "metadata": { "id": "qmvJLN-KXOkE", "colab_type": "text" }, "source": [ "## List comprehension\n", "\n", "Az úgynevezett „list comprehension” („lista-felfogás”) módszer, amellyel kompakt módon tudunk listákat létrehozni. \n", "\n", "Lényege, hogy a lista elemeit nem direkt módon adjuk meg, hanem egy speciális iterációval. \n", "\n", "Itt nem szükséges egy komplett, klasszikus iterációt megírnunk, \n", "hanem elintézhetjük ezt egy egyszerű, egyetlen soros összetett utasításban. \n", "\n", "\n", "### Klasszikus megoldás\n", "\n", "lista = [] # üres lista deklarációja\n", "for i in xrange(1, 101): # iteráció 1-től 100-ig\n", " lista.append(i) # a lista bővítése a ciklusváltozó aktuális értékével\n", " \n", " \n", "### List comprehension módszer:\n", "\n", "lista = [i for i in xrange(1, 101)] # a fentiek mind egy sorban\n", "\n", "\n", "\n", "#### Hogyan is épül fel az utasítás:\n", "\n", " = [ for in if ]" ] }, { "cell_type": "code", "metadata": { "id": "gJVSq0HlXOkF", "colab_type": "code", "colab": {}, "outputId": "27020fd8-e88a-4bd6-8195-c2bd6d691f1c" }, "source": [ "\n", "paros_negyzet = [i**2 for i in range(1, 101) if i % 2 == 0] ## páros négyzetek kikeresése\n", "print(paros_negyzet)\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "[4, 16, 36, 64, 100, 144, 196, 256, 324, 400, 484, 576, 676, 784, 900, 1024, 1156, 1296, 1444, 1600, 1764, 1936, 2116, 2304, 2500, 2704, 2916, 3136, 3364, 3600, 3844, 4096, 4356, 4624, 4900, 5184, 5476, 5776, 6084, 6400, 6724, 7056, 7396, 7744, 8100, 8464, 8836, 9216, 9604, 10000]\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab_type": "code", "id": "DVaKdZOmlTuJ", "outputId": "675b65e2-99fd-49a2-a480-92346a3df503", "colab": {} }, "source": [ "## Könyvtár végilolvasásához alapok (játek a könyvtárakkal)\n", "import os, sys\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "os.chdir(r\"c:\\Users\\User\\Documents\\kepek\\allat\") ## munkakönyvtár beállítása\n", "print(\"Jelenlegi munka könyvtár2 \" , os.getcwd()) ## munkakönyvtxxár kiírása\n", "\n", "## ---------------- könyvtárban levő állományok listába olvasása 1. (walk)\n", "print('------------------- walk')\n", "from os import walk\n", "myfiles = []\n", "mypath=os.getcwd()\n", "for (dirpath, dirnames, filenames) in walk(mypath): ## kiolvasás\n", " myfiles.extend(filenames)\n", " \n", "for i in myfiles: ## megjelenítés\n", " print(i)\n", "print('------------------- walk')\n", "# r=root, d=directories, f = files\n", "for r, d, f in os.walk(mypath):\n", " for file in f:\n", " if \".jpg\" in file:\n", " print(os.path.join(r, file))\n", "\n", "print('-------------------listdir')\n", "## ---------------- könyvtárban levő állományok listába olvasása 2. (listdir)\n", "from os import listdir\n", "from os.path import isfile, join\n", "mypath=os.getcwd()\n", "myfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]\n", "\n", "for i in myfiles: ## megjelenítés\n", " print(i)\n", "\n", "print('------------------- glob')\n", "## ---------------- könyvtárban levő kép (jpg) állományok listába olvasása 3. (glob)\n", "import glob\n", "myfiles = []\n", "mypath=os.getcwd()\n", "print(mypath)\n", "\n", "# myfiles = glob.glob(mypath + r'\\*.jpg') ## közvetlen betöltéssel és teljes elérési névvel\n", "# myfiles = [f for f in glob.glob(\"*.jpg\")] ## list comprehension-al\n", "\n", "for file in glob.glob(r'*.jpg'): \n", " myfiles.append(file)\n", "\n", "for i in myfiles: ## megjelenítés\n", " print(i)\n", "\n", "print('------------------- lisdir')\n", "import os\n", "myfiles = [os.path.abspath(x) for x in os.listdir()] ## teljes elérési névvel\n", "for i in myfiles: ## megjelenítés\n", " print(i)\n", "\n", "\n", "print('------------------- glob és pathlib')\n", "\n", "import pathlib\n", "\n", "py = pathlib.Path().glob(\"*.jpg\")\n", "for file in py:\n", " print(file)\n", " \n", "print('------------------- scandir')\n", " \n", "import os\n", "with os.scandir() as i:\n", " for entry in i:\n", " if entry.is_file():\n", " print(entry.name)" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Jelenlegi munka könyvtár1 C:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\okt\n", "Jelenlegi munka könyvtár2 c:\\Users\\User\\Documents\\kepek\\allat\n", "------------------- walk\n", "drawing.png\n", "drawing_dark.png\n", "Dsc_8579_roka.jpg\n", "Dsc_8579_roka_thumbnail.jpg\n", "Dsc_8579_roka_uj.jpg\n", "Dsc_8596_mokus.jpg\n", "Dsc_8596_mokus_thumbnail.jpg\n", "Dsc_8601_mokus.jpg\n", "Dsc_8601_mokus_thumbnail.jpg\n", "Dsc_8619_mokus.jpg\n", "Dsc_8619_mokus_szurke2.jpg\n", "Dsc_8619_mokus_szurke2_cropped.jpg\n", "Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_logo.jpg\n", "Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "Dsc_8619_mokus_thumbnail.jpg\n", "kep_file.jpg\n", "mosomedve.png\n", "out_mentett_kep.jpg\n", "out_mentett_kep.png\n", "out_mentett_kep.tiff\n", "python_rajz.png\n", "python_rajz2.png\n", "python_rajz_dark.png\n", "text_kepbe.png\n", "------------------- walk\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8579_roka.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8579_roka_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8579_roka_uj.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8596_mokus.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8596_mokus_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8601_mokus.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8601_mokus_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_cropped.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_logo.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\kep_file.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\out_mentett_kep.jpg\n", "-------------------listdir\n", "drawing.png\n", "drawing_dark.png\n", "Dsc_8579_roka.jpg\n", "Dsc_8579_roka_thumbnail.jpg\n", "Dsc_8579_roka_uj.jpg\n", "Dsc_8596_mokus.jpg\n", "Dsc_8596_mokus_thumbnail.jpg\n", "Dsc_8601_mokus.jpg\n", "Dsc_8601_mokus_thumbnail.jpg\n", "Dsc_8619_mokus.jpg\n", "Dsc_8619_mokus_szurke2.jpg\n", "Dsc_8619_mokus_szurke2_cropped.jpg\n", "Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_logo.jpg\n", "Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "Dsc_8619_mokus_thumbnail.jpg\n", "kep_file.jpg\n", "mosomedve.png\n", "out_mentett_kep.jpg\n", "out_mentett_kep.png\n", "out_mentett_kep.tiff\n", "python_rajz.png\n", "python_rajz2.png\n", "python_rajz_dark.png\n", "text_kepbe.png\n", "------------------- glob\n", "c:\\Users\\User\\Documents\\kepek\\allat\n", "Dsc_8579_roka.jpg\n", "Dsc_8579_roka_thumbnail.jpg\n", "Dsc_8579_roka_uj.jpg\n", "Dsc_8596_mokus.jpg\n", "Dsc_8596_mokus_thumbnail.jpg\n", "Dsc_8601_mokus.jpg\n", "Dsc_8601_mokus_thumbnail.jpg\n", "Dsc_8619_mokus.jpg\n", "Dsc_8619_mokus_szurke2.jpg\n", "Dsc_8619_mokus_szurke2_cropped.jpg\n", "Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_logo.jpg\n", "Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "Dsc_8619_mokus_thumbnail.jpg\n", "kep_file.jpg\n", "out_mentett_kep.jpg\n", "------------------- lisdir\n", "c:\\Users\\User\\Documents\\kepek\\allat\\drawing.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\drawing_dark.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8579_roka.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8579_roka_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8579_roka_uj.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8596_mokus.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8596_mokus_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8601_mokus.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8601_mokus_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_cropped.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_logo.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\Dsc_8619_mokus_thumbnail.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\kep_file.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\mosomedve.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\out_mentett_kep.jpg\n", "c:\\Users\\User\\Documents\\kepek\\allat\\out_mentett_kep.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\out_mentett_kep.tiff\n", "c:\\Users\\User\\Documents\\kepek\\allat\\python_rajz.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\python_rajz2.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\python_rajz_dark.png\n", "c:\\Users\\User\\Documents\\kepek\\allat\\text_kepbe.png\n", "------------------- glob és pathlib\n", "Dsc_8579_roka.jpg\n", "Dsc_8579_roka_thumbnail.jpg\n", "Dsc_8579_roka_uj.jpg\n", "Dsc_8596_mokus.jpg\n", "Dsc_8596_mokus_thumbnail.jpg\n", "Dsc_8601_mokus.jpg\n", "Dsc_8601_mokus_thumbnail.jpg\n", "Dsc_8619_mokus.jpg\n", "Dsc_8619_mokus_szurke2.jpg\n", "Dsc_8619_mokus_szurke2_cropped.jpg\n", "Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_logo.jpg\n", "Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "Dsc_8619_mokus_thumbnail.jpg\n", "kep_file.jpg\n", "out_mentett_kep.jpg\n", "------------------- scandir\n", "drawing.png\n", "drawing_dark.png\n", "Dsc_8579_roka.jpg\n", "Dsc_8579_roka_thumbnail.jpg\n", "Dsc_8579_roka_uj.jpg\n", "Dsc_8596_mokus.jpg\n", "Dsc_8596_mokus_thumbnail.jpg\n", "Dsc_8601_mokus.jpg\n", "Dsc_8601_mokus_thumbnail.jpg\n", "Dsc_8619_mokus.jpg\n", "Dsc_8619_mokus_szurke2.jpg\n", "Dsc_8619_mokus_szurke2_cropped.jpg\n", "Dsc_8619_mokus_szurke2_cropped_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_logo.jpg\n", "Dsc_8619_mokus_szurke2_logo_thumbnail.jpg\n", "Dsc_8619_mokus_szurke2_thumbnail.jpg\n", "Dsc_8619_mokus_thumbnail.jpg\n", "kep_file.jpg\n", "mosomedve.png\n", "out_mentett_kep.jpg\n", "out_mentett_kep.png\n", "out_mentett_kep.tiff\n", "python_rajz.png\n", "python_rajz2.png\n", "python_rajz_dark.png\n", "text_kepbe.png\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "XIxC600sXOkL", "colab_type": "text" }, "source": [ "### CSV file mentés megnyítás" ] }, { "cell_type": "code", "metadata": { "id": "g24vWETiXOkM", "colab_type": "code", "colab": {}, "outputId": "51b7857a-7f1d-4131-b41b-c7d93213aca2" }, "source": [ "## CSV file írása 1.\n", "# modul betöltése\n", "import csv\n", "import os, sys\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "\n", "\n", "objs = [{'name': 'knut', 'age': 74, 'count': 13},\n", " {'name': 'lydia', 'age': 14, 'count': 3}]\n", "headers = ['name', 'age', 'count']\n", "\n", "with open(\"minta.csv\", \"w\", newline='') as outfile:\n", " ## mező szeparátor: TAB : \\t\n", " writer = csv.writer(outfile, delimiter=\"\\t\", quotechar='\"', quoting=csv.QUOTE_ALL) \n", "\n", " ## ielőszőr a fejlécet írjuk ki\n", " writer.writerow(headers)\n", "\n", " ## ciklusban írjuk kia az adatokat\n", " for obj in objs:\n", " writer.writerow([obj[key] for key in headers])\n", " \n", "print('kész a csv file írása') " ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Jelenlegi munka könyvtár1 c:\\Users\\User\\Documents\\kepek\\allat\n", "kész a csv file írása\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "NOTUpgJ1XOkP", "colab_type": "code", "colab": {}, "outputId": "d96c4eb4-1b16-4738-84ba-6723641c1d6c" }, "source": [ "## CSV file írása 2.\n", "# modul betöltése\n", "import csv\n", "import os, sys\n", "\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "with open('minta2.csv', 'w', newline='') as csvfile:\n", " spamwriter = csv.writer(csvfile, delimiter='\\t', quotechar='\"', quoting=csv.QUOTE_MINIMAL)\n", " spamwriter.writerow(['Felj'] * 2 + ['Fejl5'])\n", " spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])\n", " \n", "print('kész a csv file írása') " ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Jelenlegi munka könyvtár1 c:\\Users\\User\\Documents\\kepek\\allat\n", "kész a csv file írása\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "0aU4piuvXOkS", "colab_type": "code", "colab": {}, "outputId": "4f570937-5d3e-4e3f-e32c-bbe5b326ec5d" }, "source": [ "## CSV file írása 3.\n", "# modul betöltése\n", "import csv\n", "import os, sys\n", "\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "import csv\n", "\n", "with open('employee_file2.csv', mode='w', newline='') as csv_file: \n", " fieldnames = ['emp_name', 'dept', 'birth_month']\n", " writer = csv.DictWriter(csv_file, fieldnames=fieldnames)\n", " writer.writeheader()\n", " writer.writerow({'emp_name': 'John Smith', 'dept': 'Accounting', 'birth_month': 'November'})\n", " writer.writerow({'emp_name': 'Erica Meyers', 'dept': 'IT', 'birth_month': 'March'})\n", " \n", "print('kész a csv file írása') " ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Jelenlegi munka könyvtár1 c:\\Users\\User\\Documents\\kepek\\allat\n", "kész a csv file írása\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "colab_type": "code", "id": "dbzBz8JOlTuh", "colab": {}, "outputId": "aab4d40a-7d80-4a95-eb95-69a02ca88ef2" }, "source": [ "## CSV file olvasása 1.\n", "# modul betöltése\n", "import csv\n", "import os, sys\n", "\n", "print(\"Jelenlegi munka könyvtár1 \" , os.getcwd()) ## munkakönyvtár kiírása\n", "\n", "# olvasásra megnyitas\n", "csv1 = open('minta.csv', 'r')\n", "\n", "# változóba olvasás\n", "read = csv.reader(csv1) \n", "\n", "#tartalom megjelenitése soronként\n", "for row in read:\n", " print(row)\n" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "Jelenlegi munka könyvtár1 c:\\Users\\User\\Documents\\kepek\\allat\n", "['name\\t\"age\"\\t\"count\"']\n", "['knut\\t\"74\"\\t\"13\"']\n", "['lydia\\t\"14\"\\t\"3\"']\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "D9mYKzsyXOkb", "colab_type": "code", "colab": {}, "outputId": "f68e5207-945f-4c7a-804b-ff2e09d7b2ae" }, "source": [ "## CSV file olvasása 2.\n", "import csv\n", "with open('minta.csv', newline='') as csvfile:\n", " spamreader = csv.reader(csvfile, delimiter='\\t', quotechar='\"')\n", " for row in spamreader:\n", " print(', '.join(row))\n", "print('---------------- elválasztás') \n", "with open('minta2.csv', newline='') as csvfile:\n", " spamreader = csv.reader(csvfile, delimiter='\\t', quotechar='\"')\n", " for row in spamreader:\n", " print(', '.join(row))\n", " " ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "name, age, count\n", "knut, 74, 13\n", "lydia, 14, 3\n", "---------------- elválasztás\n", "Felj, Felj, Fejl5\n", "Spam, Lovely Spam, Wonderful Spam\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "Vd5e8qOiXOkg", "colab_type": "text" }, "source": [ "\n", "\n", "## XLS és XLSX filek megnyítása olvasása írása (pandas)\n", "\n" ] }, { "cell_type": "code", "metadata": { "id": "DNC_ez7XXOkj", "colab_type": "code", "colab": {} }, "source": [ "## excel olvasása\n", "import pandas as pd\n", "import numpy as np\n", "df = pd.read_excel(r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules.xlsx')\n", "\n", "print('kiírás kész')" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "rzR_9YAQXOko", "colab_type": "code", "colab": {}, "outputId": "115b9e97-90ba-48ba-c748-e338a2fe8313" }, "source": [ "import pandas as pd\n", "# xls beolvasás\n", "df = pd.read_excel(r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules.xlsx', sheet_name='telepules')\n", "\n", "# xls manipuláció\n", "df.drop(['lakos'], axis=3)\n", "\n", "# xls kiírás új állományba\n", "writer = pd.ExcelWriter(r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\output.xlsx')\n", "df.to_excel(writer,'Sheet1')\n", "writer.save()\n", "\n", "print('kiírás kész')" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "kiírás kész\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "r5FI-KEVXOkr", "colab_type": "code", "colab": {}, "outputId": "0cefa8d5-d504-4231-eeb4-1cb2e86052f0" }, "source": [ "import pandas as pd\n", "\n", "read_file = pd.read_excel (r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules.xlsx', sheet_name='telepules')\n", "read_file.to_csv (r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules_ki.csv', index = None, header=True)\n", "print('kiírás kész')" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "kiírás kész\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "7dn5819xXOku", "colab_type": "code", "colab": {} }, "source": [ "## koplett windows -os alkalmazás xls -> konverzióra\n", "import tkinter as tk\n", "from tkinter import filedialog\n", "from tkinter import messagebox\n", "import pandas as pd\n", "\n", "root= tk.Tk()\n", "\n", "canvas1 = tk.Canvas(root, width = 300, height = 300, bg = 'lightsteelblue2', relief = 'raised')\n", "canvas1.pack()\n", "\n", "label1 = tk.Label(root, text='File Conversion Tool', bg = 'lightsteelblue2')\n", "label1.config(font=('helvetica', 20))\n", "canvas1.create_window(150, 60, window=label1)\n", "\n", "def getExcel ():\n", " global read_file\n", " \n", " import_file_path = filedialog.askopenfilename()\n", " read_file = pd.read_excel (import_file_path)\n", " \n", "browseButton_Excel = tk.Button(text=\" Import Excel File \", command=getExcel, bg='green', fg='white', font=('helvetica', 12, 'bold'))\n", "canvas1.create_window(150, 130, window=browseButton_Excel)\n", "\n", "def convertToCSV ():\n", " global read_file\n", " \n", " export_file_path = filedialog.asksaveasfilename(defaultextension='.csv')\n", " read_file.to_csv (export_file_path, index = None, header=True)\n", "\n", "saveAsButton_CSV = tk.Button(text='Convert Excel to CSV', command=convertToCSV, bg='green', fg='white', font=('helvetica', 12, 'bold'))\n", "canvas1.create_window(150, 180, window=saveAsButton_CSV)\n", "\n", "def exitApplication():\n", " MsgBox = tk.messagebox.askquestion ('Exit Application','Are you sure you want to exit the application',icon = 'warning')\n", " if MsgBox == 'yes':\n", " root.destroy()\n", " \n", "exitButton = tk.Button (root, text=' Exit Application ',command=exitApplication, bg='brown', fg='white', font=('helvetica', 12, 'bold'))\n", "canvas1.create_window(150, 230, window=exitButton)\n", "\n", "root.mainloop()" ], "execution_count": 0, "outputs": [] }, { "cell_type": "code", "metadata": { "id": "vJ-4AAuxXOkw", "colab_type": "code", "colab": {}, "outputId": "62372b4e-c7c2-4b3d-b4ee-b6681ed5dbc3" }, "source": [ "import openpyxl\n", "\n", "wb = openpyxl.load_workbook(r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules.xlsx')\n", "sheet = wb.active\n", "sheet['C5'] = 42\n", "mezo ='C2'\n", "sheet[mezo] = 'C2'\n", "\n", "for i in range(20):\n", " mezo_iro = 'A' + str(i+1)\n", " sheet[mezo_iro] = i+1\n", "\n", "\n", "wb.save(r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules_m2.xlsx')\n", "\n", "print('kiírás kész')" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "kiírás kész\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "sFCeKwMAXOkz", "colab_type": "code", "colab": {}, "outputId": "47c23c34-9fed-485f-fa88-0a65993b8807" }, "source": [ "# letiltása a autoanswer párbeszédablak a makrókat \n", "import win32com.client as win32\n", "import os\n", "\n", "parent_dir = r'c:\\Users\\User\\Documents\\mintak\\jupiter\\kl'\n", "input_files = os.listdir(parent_dir)\n", "print(input_files)\n", "input_files = [parent_dir +'\\\\'+ i for i in input_files if i.endswith('.xls') or i.endswith('.xlsx')]\n", "print(input_files)\n", "for input_file in input_files:\n", " if not os.path.isfile(input_file.replace('.xls', '.xlsx')):\n", " excel = win32.gencache.EnsureDispatch('Excel.Application')\n", " wb = excel.Workbooks.Open(input_file)\n", " wb.SaveAs(input_file +'x2', FileFormat=51) # FileFormat = 51 is for .xlsx extension\n", " print('excel :', input_file)\n", " wb.Close() # FileFormat = 56 is for .xls extension\n", " excel.Application.Quit()\n", "\n", "print('Módosítás kész')" ], "execution_count": 0, "outputs": [ { "output_type": "stream", "text": [ "['.ipynb_checkpoints', 'alice.png', 'alice.txt', 'alice_color.png', 'alice_mask.png', 'cache', 'clock_demo.kv', 'cookbook-2nd-code-master', 'Django_By_Example_Code', 'downloaded', 'feliratok.srt', 'feliratok.txt', 'game_v2.kv', 'GraphAlgorithms1.ipynb', 'indexholvan.xlsx', 'indexholvan.xlsxx2', 'it_bi.jpg', 'kari_fa.jpg', 'kari_fa.png', 'kari_fa_sz.png', 'kari_fa_sz2.png', 'kari_fa_word_cloud_szines.png', 'kari_szofelho.txt', 'kepek', 'kimenet.csv', 'KL_karacsonyi_szofelho.png', 'kl_mie_python_logo.jpg', 'kl_mie_python_logo.png', 'kl_mie_python_logo_atlatszo.png', 'kl_py_alapok_01.ipynb', 'kl_py_anaconda.jpg', 'kl_py_anaconda.png', 'kl_py_graph.ipynb', 'kl_py_hanoi_tornyok.ipynb', 'kl_py_java.ipynb', 'kl_py_kepfeldolgozas.ipynb', 'kl_py_kep_info_olvas.ipynb', 'kl_py_kep_mod.ipynb', 'kl_py_kivy.ipynb', 'kl_py_notebok_alapok01.ipynb', 'kl_py_rendezesek.ipynb', 'kl_py_soduku.ipynb', 'kl_py_web_scrawler.ipynb', 'kl_py_word_cloud.ipynb', 'KL_tonok_harca_veg_szo_felho.png', 'kp_py_alapok_dok.ipynb', 'kp_py_geomap.ipynb', 'kp_py_info.txt', 'kp_py_kivy_map.jpg', 'kp_py_kivy_map.png', 'layer_manager_hu.kl_py_okt.txt', 'lkl_labirintus.ipynb', 'mapview', 'messi.jpg', 'my.kv', 'notebooks', 'okt', 'output.xlsx', 'output.xlsxx2', 'puzzle.csv', 'Python.svg.cloud.png', 'python_spyper_map.jpg', 'python_szofelho.txt', 'py_code.jpg', 'py_kepek.png', 'ronaldo.jpg', 'telepules.csv', 'telepules.xlsx', 'telepules.xlsxx2', 'telepules_ki.csv', 'telepules_m2.xlsx', 'telepules_m2.xlsxx2', 'teszt1', 'th8e6.txt', 'tronok_harca.png']\n", "['c:\\\\Users\\\\User\\\\Documents\\\\mintak\\\\jupiter\\\\kl\\\\indexholvan.xlsx', 'c:\\\\Users\\\\User\\\\Documents\\\\mintak\\\\jupiter\\\\kl\\\\output.xlsx', 'c:\\\\Users\\\\User\\\\Documents\\\\mintak\\\\jupiter\\\\kl\\\\telepules.xlsx', 'c:\\\\Users\\\\User\\\\Documents\\\\mintak\\\\jupiter\\\\kl\\\\telepules_m2.xlsx']\n", "excel : c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\indexholvan.xlsx\n", "excel : c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\output.xlsx\n", "excel : c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules.xlsx\n", "excel : c:\\Users\\User\\Documents\\mintak\\jupiter\\kl\\telepules_m2.xlsx\n", "Módosítás kész\n" ], "name": "stdout" } ] }, { "cell_type": "code", "metadata": { "id": "5k1E_sWSXOk5", "colab_type": "code", "colab": {} }, "source": [ "" ], "execution_count": 0, "outputs": [] } ] }