{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Graph Transformation Example\n",
    "Data in a table form can be transformed into numerous different formats using the class pyMez.Code.DataHandlers.GraphModels.TableGraph. The abstract data model is a table with column names."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Examples of Formats\n",
    "<table>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.xlsx\">Excel File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.csv\">Csv File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.hdf\">Hdf File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.html\">Html File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.json\">Json File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.mat\">Matlab File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.ods\">Open Office File</a></td>\n",
    "</tr>\n",
    "<tr>\n",
    "<td> <a href=\"./TableGraph_Files/test.xml\">XML File</a></td>\n",
    "</tr>\n",
    "</table>"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Import needed modules"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Importing pyMez, this should take roughly 30 seconds\n",
      "Importing Code.DataHandlers.GeneralModels\n",
      "It took 1.013 s to import Code.DataHandlers.GeneralModels\n",
      "Importing Code.DataHandlers.HTMLModels\n",
      "It took 0.161 s to import Code.DataHandlers.HTMLModels\n",
      "Importing Code.DataHandlers.NISTModels\n",
      "It took 7.008 s to import Code.DataHandlers.NISTModels\n",
      "Importing Code.DataHandlers.TouchstoneModels\n",
      "It took 0.009 s to import Code.DataHandlers.TouchstoneModels\n",
      "Importing Code.DataHandlers.XMLModels\n",
      "It took 0.255 s to import Code.DataHandlers.XMLModels\n",
      "Importing Code.DataHandlers.ZipModels\n",
      "It took 0.039 s to import Code.DataHandlers.ZipModels\n",
      "Importing Code.InstrumentControl.Experiments\n",
      "It took 1.284 s to import Code.InstrumentControl.Experiments\n",
      "Importing Code.InstrumentControl.Instruments\n",
      "It took 0.014 s to import Code.InstrumentControl.Instruments\n",
      "Importing Code.Utils.Names\n",
      "It took 0.01 s to import Code.Utils.Names\n",
      "It took 9.794 s to import all of the active modules\n"
     ]
    }
   ],
   "source": [
    "from pyMez.Code.DataHandlers.GraphModels import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# create the graph\n",
    "graph=TableGraph()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['DataFrame',\n",
       " 'AsciiDataTable',\n",
       " 'HdfFile',\n",
       " 'XmlDataTable',\n",
       " 'ExcelFile',\n",
       " 'OdsFile',\n",
       " 'HtmlString',\n",
       " 'JsonFile',\n",
       " 'JsonString',\n",
       " 'CsvFile',\n",
       " 'MatFile',\n",
       " 'XmlFile',\n",
       " 'HtmlFile']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# now we have access to the folowing data formats\n",
    "graph.node_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf1eaf60>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf40f710>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# to visualize the graph use the show method\n",
    "graph.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "# if we want to open an ascii data table or subclass we open the schema and then open the file\n",
    "schema=read_schema(os.path.join(os.getcwd(),\"./TableGraph_Files/Line_4909_WR15_Wave_Parameters_20180313_003.schema\"))\n",
    "ascii_table=AsciiDataTable(os.path.join(os.getcwd(),\"./TableGraph_Files/Line_4909_WR15_Wave_Parameters_20180313_003.w2p\"),\n",
    "                           **schema)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "graph.set_state(node_name=\"AsciiDataTable\",node_data=ascii_table)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# now if you want a pandas data frame just move to that node\n",
    "graph.move_to_node(\"DataFrame\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#now dataframe is just\n",
    "pandas_dataframe=graph.data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Frequency</th>\n",
       "      <th>reA1_D1</th>\n",
       "      <th>imA1_D1</th>\n",
       "      <th>reB1_D1</th>\n",
       "      <th>imB1_D1</th>\n",
       "      <th>reA2_D1</th>\n",
       "      <th>imA2_D1</th>\n",
       "      <th>reB2_D1</th>\n",
       "      <th>imB2_D1</th>\n",
       "      <th>reA1_D2</th>\n",
       "      <th>imA1_D2</th>\n",
       "      <th>reB1_D2</th>\n",
       "      <th>imB1_D2</th>\n",
       "      <th>reA2_D2</th>\n",
       "      <th>imA2_D2</th>\n",
       "      <th>reB2_D2</th>\n",
       "      <th>imB2_D2</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>50.0</td>\n",
       "      <td>-0.067716</td>\n",
       "      <td>-0.018169</td>\n",
       "      <td>-0.002698</td>\n",
       "      <td>0.000736</td>\n",
       "      <td>0.002505</td>\n",
       "      <td>0.006582</td>\n",
       "      <td>0.004642</td>\n",
       "      <td>-0.024663</td>\n",
       "      <td>-0.002776</td>\n",
       "      <td>0.000737</td>\n",
       "      <td>-0.009040</td>\n",
       "      <td>-0.013720</td>\n",
       "      <td>-0.030438</td>\n",
       "      <td>0.039048</td>\n",
       "      <td>-0.000666</td>\n",
       "      <td>-0.001240</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>50.1</td>\n",
       "      <td>0.022439</td>\n",
       "      <td>0.066658</td>\n",
       "      <td>-0.002310</td>\n",
       "      <td>-0.001366</td>\n",
       "      <td>-0.007025</td>\n",
       "      <td>0.003140</td>\n",
       "      <td>0.003018</td>\n",
       "      <td>0.025235</td>\n",
       "      <td>0.002766</td>\n",
       "      <td>0.000807</td>\n",
       "      <td>-0.012986</td>\n",
       "      <td>0.009946</td>\n",
       "      <td>-0.006615</td>\n",
       "      <td>0.049959</td>\n",
       "      <td>0.000561</td>\n",
       "      <td>0.000726</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>50.2</td>\n",
       "      <td>0.045270</td>\n",
       "      <td>-0.052561</td>\n",
       "      <td>-0.001734</td>\n",
       "      <td>-0.001928</td>\n",
       "      <td>-0.002514</td>\n",
       "      <td>-0.007838</td>\n",
       "      <td>-0.007694</td>\n",
       "      <td>-0.024228</td>\n",
       "      <td>-0.000439</td>\n",
       "      <td>0.002662</td>\n",
       "      <td>0.002923</td>\n",
       "      <td>-0.015854</td>\n",
       "      <td>0.027449</td>\n",
       "      <td>-0.042675</td>\n",
       "      <td>0.000953</td>\n",
       "      <td>0.000268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>50.3</td>\n",
       "      <td>-0.068064</td>\n",
       "      <td>-0.006680</td>\n",
       "      <td>-0.000584</td>\n",
       "      <td>-0.002533</td>\n",
       "      <td>0.008351</td>\n",
       "      <td>-0.001583</td>\n",
       "      <td>0.013007</td>\n",
       "      <td>0.021694</td>\n",
       "      <td>-0.002353</td>\n",
       "      <td>-0.000478</td>\n",
       "      <td>0.006114</td>\n",
       "      <td>0.014497</td>\n",
       "      <td>-0.046726</td>\n",
       "      <td>0.018792</td>\n",
       "      <td>0.000219</td>\n",
       "      <td>0.001005</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>50.4</td>\n",
       "      <td>0.019932</td>\n",
       "      <td>0.065229</td>\n",
       "      <td>0.001364</td>\n",
       "      <td>-0.002947</td>\n",
       "      <td>-0.000787</td>\n",
       "      <td>0.008783</td>\n",
       "      <td>-0.014357</td>\n",
       "      <td>-0.021132</td>\n",
       "      <td>0.001078</td>\n",
       "      <td>-0.001850</td>\n",
       "      <td>-0.010481</td>\n",
       "      <td>-0.011547</td>\n",
       "      <td>0.046113</td>\n",
       "      <td>0.021435</td>\n",
       "      <td>0.000240</td>\n",
       "      <td>0.000686</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>50.5</td>\n",
       "      <td>0.061203</td>\n",
       "      <td>-0.029331</td>\n",
       "      <td>0.002601</td>\n",
       "      <td>0.000242</td>\n",
       "      <td>-0.007656</td>\n",
       "      <td>-0.004735</td>\n",
       "      <td>0.011427</td>\n",
       "      <td>0.023315</td>\n",
       "      <td>0.000980</td>\n",
       "      <td>0.001591</td>\n",
       "      <td>0.013222</td>\n",
       "      <td>0.008356</td>\n",
       "      <td>-0.015426</td>\n",
       "      <td>-0.049494</td>\n",
       "      <td>-0.001176</td>\n",
       "      <td>0.000562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>50.6</td>\n",
       "      <td>-0.045496</td>\n",
       "      <td>-0.050363</td>\n",
       "      <td>0.002401</td>\n",
       "      <td>0.001195</td>\n",
       "      <td>0.007171</td>\n",
       "      <td>-0.005577</td>\n",
       "      <td>-0.011494</td>\n",
       "      <td>-0.023691</td>\n",
       "      <td>-0.001749</td>\n",
       "      <td>-0.000151</td>\n",
       "      <td>-0.014867</td>\n",
       "      <td>-0.004185</td>\n",
       "      <td>-0.025840</td>\n",
       "      <td>0.044895</td>\n",
       "      <td>-0.000025</td>\n",
       "      <td>-0.000391</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>50.7</td>\n",
       "      <td>-0.036221</td>\n",
       "      <td>0.058172</td>\n",
       "      <td>-0.000036</td>\n",
       "      <td>0.003033</td>\n",
       "      <td>0.002033</td>\n",
       "      <td>0.008626</td>\n",
       "      <td>0.009857</td>\n",
       "      <td>0.024808</td>\n",
       "      <td>0.001344</td>\n",
       "      <td>-0.001364</td>\n",
       "      <td>0.015103</td>\n",
       "      <td>0.002441</td>\n",
       "      <td>0.051798</td>\n",
       "      <td>0.000304</td>\n",
       "      <td>-0.000797</td>\n",
       "      <td>-0.000757</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>50.8</td>\n",
       "      <td>0.063027</td>\n",
       "      <td>0.029029</td>\n",
       "      <td>-0.001881</td>\n",
       "      <td>0.001356</td>\n",
       "      <td>-0.007953</td>\n",
       "      <td>-0.003059</td>\n",
       "      <td>-0.003294</td>\n",
       "      <td>-0.027181</td>\n",
       "      <td>0.000194</td>\n",
       "      <td>0.002238</td>\n",
       "      <td>-0.015260</td>\n",
       "      <td>-0.001379</td>\n",
       "      <td>-0.022791</td>\n",
       "      <td>-0.047313</td>\n",
       "      <td>0.001282</td>\n",
       "      <td>-0.000510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>50.9</td>\n",
       "      <td>0.020003</td>\n",
       "      <td>-0.066620</td>\n",
       "      <td>-0.002146</td>\n",
       "      <td>-0.000444</td>\n",
       "      <td>0.006057</td>\n",
       "      <td>-0.004937</td>\n",
       "      <td>-0.001895</td>\n",
       "      <td>0.027502</td>\n",
       "      <td>-0.002241</td>\n",
       "      <td>-0.001488</td>\n",
       "      <td>0.015140</td>\n",
       "      <td>-0.000094</td>\n",
       "      <td>-0.029189</td>\n",
       "      <td>0.043710</td>\n",
       "      <td>0.000713</td>\n",
       "      <td>0.000487</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Frequency   reA1_D1   imA1_D1   reB1_D1   imB1_D1   reA2_D1   imA2_D1  \\\n",
       "0       50.0 -0.067716 -0.018169 -0.002698  0.000736  0.002505  0.006582   \n",
       "1       50.1  0.022439  0.066658 -0.002310 -0.001366 -0.007025  0.003140   \n",
       "2       50.2  0.045270 -0.052561 -0.001734 -0.001928 -0.002514 -0.007838   \n",
       "3       50.3 -0.068064 -0.006680 -0.000584 -0.002533  0.008351 -0.001583   \n",
       "4       50.4  0.019932  0.065229  0.001364 -0.002947 -0.000787  0.008783   \n",
       "5       50.5  0.061203 -0.029331  0.002601  0.000242 -0.007656 -0.004735   \n",
       "6       50.6 -0.045496 -0.050363  0.002401  0.001195  0.007171 -0.005577   \n",
       "7       50.7 -0.036221  0.058172 -0.000036  0.003033  0.002033  0.008626   \n",
       "8       50.8  0.063027  0.029029 -0.001881  0.001356 -0.007953 -0.003059   \n",
       "9       50.9  0.020003 -0.066620 -0.002146 -0.000444  0.006057 -0.004937   \n",
       "\n",
       "    reB2_D1   imB2_D1   reA1_D2   imA1_D2   reB1_D2   imB1_D2   reA2_D2  \\\n",
       "0  0.004642 -0.024663 -0.002776  0.000737 -0.009040 -0.013720 -0.030438   \n",
       "1  0.003018  0.025235  0.002766  0.000807 -0.012986  0.009946 -0.006615   \n",
       "2 -0.007694 -0.024228 -0.000439  0.002662  0.002923 -0.015854  0.027449   \n",
       "3  0.013007  0.021694 -0.002353 -0.000478  0.006114  0.014497 -0.046726   \n",
       "4 -0.014357 -0.021132  0.001078 -0.001850 -0.010481 -0.011547  0.046113   \n",
       "5  0.011427  0.023315  0.000980  0.001591  0.013222  0.008356 -0.015426   \n",
       "6 -0.011494 -0.023691 -0.001749 -0.000151 -0.014867 -0.004185 -0.025840   \n",
       "7  0.009857  0.024808  0.001344 -0.001364  0.015103  0.002441  0.051798   \n",
       "8 -0.003294 -0.027181  0.000194  0.002238 -0.015260 -0.001379 -0.022791   \n",
       "9 -0.001895  0.027502 -0.002241 -0.001488  0.015140 -0.000094 -0.029189   \n",
       "\n",
       "    imA2_D2   reB2_D2   imB2_D2  \n",
       "0  0.039048 -0.000666 -0.001240  \n",
       "1  0.049959  0.000561  0.000726  \n",
       "2 -0.042675  0.000953  0.000268  \n",
       "3  0.018792  0.000219  0.001005  \n",
       "4  0.021435  0.000240  0.000686  \n",
       "5 -0.049494 -0.001176  0.000562  \n",
       "6  0.044895 -0.000025 -0.000391  \n",
       "7  0.000304 -0.000797 -0.000757  \n",
       "8 -0.047313  0.001282 -0.000510  \n",
       "9  0.043710  0.000713  0.000487  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pandas_dataframe[0:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# if we want to transform to json string\n",
    "graph.move_to_node(\"JsonString\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "json=graph.data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda2\\lib\\site-packages\\pandas\\io\\pytables.py:270: PerformanceWarning: \n",
      "your performance may suffer as PyTables will pickle object types that it cannot\n",
      "map directly to c-types [inferred_type->unicode,key->axis0] [items->None]\n",
      "\n",
      "  f(store)\n",
      "C:\\ProgramData\\Anaconda2\\lib\\site-packages\\pandas\\io\\pytables.py:270: PerformanceWarning: \n",
      "your performance may suffer as PyTables will pickle object types that it cannot\n",
      "map directly to c-types [inferred_type->unicode,key->block0_items] [items->None]\n",
      "\n",
      "  f(store)\n"
     ]
    }
   ],
   "source": [
    "# if we would like to transform it to all possible data types -the xslx and ods require a confirmation\n",
    "# first change the working directory and now all files will be put in the folder\n",
    "os.chdir(\"./TableGraph_Files\")\n",
    "visit_all_nodes(graph)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
