<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.21.2: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">

/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.

Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.

See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/

/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
  border: 0 }

table.borderless td, table.borderless th {
  /* Override padding for "table.docutils td" with "! important".
     The right padding separates the table cells. */
  padding: 0 0.5em 0 0 ! important }

.first {
  /* Override more specific margin styles with "! important". */
  margin-top: 0 ! important }

.last, .with-subtitle {
  margin-bottom: 0 ! important }

.hidden {
  display: none }

.subscript {
  vertical-align: sub;
  font-size: smaller }

.superscript {
  vertical-align: super;
  font-size: smaller }

a.toc-backref {
  text-decoration: none ;
  color: black }

blockquote.epigraph {
  margin: 2em 5em ; }

dl.docutils dd {
  margin-bottom: 0.5em }

object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
  overflow: hidden;
}

/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
  font-weight: bold }
*/

div.abstract {
  margin: 2em 5em }

div.abstract p.topic-title {
  font-weight: bold ;
  text-align: center }

div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
  margin: 2em ;
  border: medium outset ;
  padding: 1em }

div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
  font-weight: bold ;
  font-family: sans-serif }

div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
  color: red ;
  font-weight: bold ;
  font-family: sans-serif }

/* Uncomment (and remove this text!) to get reduced vertical space in
   compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
  margin-bottom: 0.5em }

div.compound .compound-last, div.compound .compound-middle {
  margin-top: 0.5em }
*/

div.dedication {
  margin: 2em 5em ;
  text-align: center ;
  font-style: italic }

div.dedication p.topic-title {
  font-weight: bold ;
  font-style: normal }

div.figure {
  margin-left: 2em ;
  margin-right: 2em }

div.footer, div.header {
  clear: both;
  font-size: smaller }

div.line-block {
  display: block ;
  margin-top: 1em ;
  margin-bottom: 1em }

div.line-block div.line-block {
  margin-top: 0 ;
  margin-bottom: 0 ;
  margin-left: 1.5em }

div.sidebar {
  margin: 0 0 0.5em 1em ;
  border: medium outset ;
  padding: 1em ;
  background-color: #ffffee ;
  width: 40% ;
  float: right ;
  clear: right }

div.sidebar p.rubric {
  font-family: sans-serif ;
  font-size: medium }

div.system-messages {
  margin: 5em }

div.system-messages h1 {
  color: red }

div.system-message {
  border: medium outset ;
  padding: 1em }

div.system-message p.system-message-title {
  color: red ;
  font-weight: bold }

div.topic {
  margin: 2em }

h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
  margin-top: 0.4em }

h1.title {
  text-align: center }

h2.subtitle {
  text-align: center }

hr.docutils {
  width: 75% }

img.align-left, .figure.align-left, object.align-left, table.align-left {
  clear: left ;
  float: left ;
  margin-right: 1em }

img.align-right, .figure.align-right, object.align-right, table.align-right {
  clear: right ;
  float: right ;
  margin-left: 1em }

img.align-center, .figure.align-center, object.align-center {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

table.align-center {
  margin-left: auto;
  margin-right: auto;
}

.align-left {
  text-align: left }

.align-center {
  clear: both ;
  text-align: center }

.align-right {
  text-align: right }

/* reset inner alignment in figures */
div.align-right {
  text-align: inherit }

/* div.align-center * { */
/*   text-align: left } */

.align-top    {
  vertical-align: top }

.align-middle {
  vertical-align: middle }

.align-bottom {
  vertical-align: bottom }

ol.simple, ul.simple {
  margin-bottom: 1em }

ol.arabic {
  list-style: decimal }

ol.loweralpha {
  list-style: lower-alpha }

ol.upperalpha {
  list-style: upper-alpha }

ol.lowerroman {
  list-style: lower-roman }

ol.upperroman {
  list-style: upper-roman }

p.attribution {
  text-align: right ;
  margin-left: 50% }

p.caption {
  font-style: italic }

p.credits {
  font-style: italic ;
  font-size: smaller }

p.label {
  white-space: nowrap }

p.rubric {
  font-weight: bold ;
  font-size: larger ;
  color: maroon ;
  text-align: center }

p.sidebar-title {
  font-family: sans-serif ;
  font-weight: bold ;
  font-size: larger }

p.sidebar-subtitle {
  font-family: sans-serif ;
  font-weight: bold }

p.topic-title {
  font-weight: bold }

pre.address {
  margin-bottom: 0 ;
  margin-top: 0 ;
  font: inherit }

pre.literal-block, pre.doctest-block, pre.math, pre.code {
  margin-left: 2em ;
  margin-right: 2em }

pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}

span.classifier {
  font-family: sans-serif ;
  font-style: oblique }

span.classifier-delimiter {
  font-family: sans-serif ;
  font-weight: bold }

span.interpreted {
  font-family: sans-serif }

span.option {
  white-space: nowrap }

span.pre {
  white-space: pre }

span.problematic, pre.problematic {
  color: red }

span.section-subtitle {
  /* font-size relative to parent (h1..h6 element) */
  font-size: 80% }

table.citation {
  border-left: solid 1px gray;
  margin-left: 1px }

table.docinfo {
  margin: 2em 4em }

table.docutils {
  margin-top: 0.5em ;
  margin-bottom: 0.5em }

table.footnote {
  border-left: solid 1px black;
  margin-left: 1px }

table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
  padding-left: 0.5em ;
  padding-right: 0.5em ;
  vertical-align: top }

table.docutils th.field-name, table.docinfo th.docinfo-name {
  font-weight: bold ;
  text-align: left ;
  white-space: nowrap ;
  padding-left: 0 }

/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
  border: 0px;
  border-top: 2px solid;
  border-bottom: 2px solid;
  border-collapse: collapse;
}
table.docutils.booktabs * {
  border: 0px;
}
table.docutils.booktabs th {
  border-bottom: thin solid;
  text-align: left;
}

h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
  font-size: 100% }

ul.auto-toc {
  list-style-type: none }

</style>
</head>
<body>
<div class="document">


<div class="section" id="ut-aod">
<h1><a class="toc-backref" href="#toc-entry-1">ut_aod</a></h1>
<div class="section" id="overview">
<h2><a class="toc-backref" href="#toc-entry-2">Overview</a></h2>
<!-- start short_desc -->
<p><strong>Utilities for Arrays of Dictionaries</strong></p>
<!-- end short_desc -->
</div>
<div class="section" id="installation">
<h2><a class="toc-backref" href="#toc-entry-3">Installation</a></h2>
<!-- start installation -->
<p>Package <tt class="docutils literal">ut_aod</tt> can be installed from PyPI.</p>
<p>To install with <tt class="docutils literal">pip</tt>:</p>
<pre class="code shell literal-block">
$<span class="whitespace"> </span>python<span class="whitespace"> </span>-m<span class="whitespace"> </span>pip<span class="whitespace"> </span>install<span class="whitespace"> </span>ut_aod
</pre>
</div>
<div class="section" id="package-logging">
<h2><a class="toc-backref" href="#toc-entry-4">Package logging</a></h2>
<p>(c.f.: <cite>https://pypi.org/project/ut-log/</cite>)</p>
</div>
<div class="section" id="package-files">
<h2><a class="toc-backref" href="#toc-entry-5">Package files</a></h2>
<div class="section" id="classification">
<h3><a class="toc-backref" href="#toc-entry-6">Classification</a></h3>
<p>The Package <tt class="docutils literal">ut_aod</tt> consist of the following file types (c.f.: <strong>Appendix</strong>: <cite>Python Glossary</cite>):</p>
<ol class="arabic simple">
<li><strong>Special files:</strong><ol class="loweralpha">
<li><em>py.typed</em></li>
</ol>
</li>
<li><strong>Special modules:</strong><ol class="loweralpha">
<li><em>__init__.py</em></li>
<li><em>__version__.py</em></li>
</ol>
</li>
<li><strong>Modules</strong><ol class="loweralpha">
<li><em>aod.py</em></li>
</ol>
</li>
</ol>
</div>
</div>
<div class="section" id="modules">
<h2><a class="toc-backref" href="#toc-entry-7">Modules</a></h2>
<div class="section" id="module-aod-py">
<h3><a class="toc-backref" href="#toc-entry-8">Module: aod.py</a></h3>
<p>The Array of Dictionaries module <tt class="docutils literal">aod.py</tt> contains the static classes <tt class="docutils literal">AoD</tt> and <tt class="docutils literal">IoD</tt>
and the dictionary of callables <tt class="docutils literal">doc</tt>.</p>
<div class="section" id="class-aod">
<h4><a class="toc-backref" href="#toc-entry-9">Class: AoD</a></h4>
<p>The static Class <tt class="docutils literal">AoD</tt> is used to manage arrays of dictionaries; it contains
no variables and only static- or class-methods.</p>
<div class="section" id="methods">
<h5><a class="toc-backref" href="#toc-entry-10">Methods</a></h5>
<blockquote>
<!-- Methods-of-class-AoD-label: -->
<table border="1" class="docutils">
<caption><em>Methods of class AoD</em></caption>
<colgroup>
<col width="40%" />
<col width="60%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Short description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>add</td>
<td>Append the object to the Array of dictionaries if the
object is a dictionary or extend it with the objects
the the object is a list.</td>
</tr>
<tr><td>add_mapped_dic_value</td>
<td>Add the dictionary element mapped by the function to
the array of dictionaries.</td>
</tr>
<tr><td>append_unique</td>
<td>Append dictionary to array of dictionaries if it does
not exist in the dictionary.</td>
</tr>
<tr><td>apply_function</td>
<td>Apply the function to the array of dictionaries.</td>
</tr>
<tr><td>dic_found_with_empty_value</td>
<td>Return True or raise an exception if the array of
dictionaries contains a dictionary with empty value
and the execption switch is True.</td>
</tr>
<tr><td>merge_aod</td>
<td>Merge two array of dictionaries.</td>
</tr>
<tr><td>merge_dic</td>
<td>Merge array of dictionaries with dictionary.</td>
</tr>
<tr><td>nvl</td>
<td>Replace empty array of dictionaries.</td>
</tr>
<tr><td>put</td>
<td>Write transformed array of dictionaries to a csv file
file with a selected I/O function.</td>
</tr>
<tr><td>sh_doaod_split_by_value_is_not_empty</td>
<td>Converted array of dictionaries to dictionary of array
of dictionaries by using conditional split.</td>
</tr>
<tr><td>sh_dod</td>
<td>Convert array of dictionaries to dictionaries of
dictionaries.</td>
</tr>
<tr><td>sh_key_value_found</td>
<td>Show True if an element exists in the array of
dictionaries which contains the key, value pair.</td>
</tr>
<tr><td>sh_unique</td>
<td>Deduplicate array of dictionaries.</td>
</tr>
<tr><td>split_by_value_is_not_empty</td>
<td>Split array of dictionaries by the condition &quot;the
given key value is not empty&quot;.</td>
</tr>
<tr><td>to_aoa of_keys_values</td>
<td>Convert array of dictionaries to array of arrays using
keys of any dictionary and values of all dictionaries.</td>
</tr>
<tr><td>to_aoa of_values</td>
<td>Convert array of dictionaries to array of arrays using
values of all dictionaries.</td>
</tr>
<tr><td>to_aoa</td>
<td>Convert array of dictionaries to array of arrays
controlled by key- and value-switch.</td>
</tr>
<tr><td>to_arr of_key_values</td>
<td>Convert array of dictionaries to array of arrays using
keys of any dictionary and values of all dictionaries.</td>
</tr>
<tr><td>to_csv_with_dictwriterows</td>
<td>Write array of dictionaries to csv file with pandas.</td>
</tr>
<tr><td>to_csv_with_pd</td>
<td>Write array of dictionaries to csv file with pandas.</td>
</tr>
<tr><td>to_csv_with_pl</td>
<td>Write array of dictionaries to csv file with polars.</td>
</tr>
<tr><td>to_dic_by_dic</td>
<td>Convert array of dictionaries to dictionary by using
the key</td>
</tr>
<tr><td>to_dic_by_ix</td>
<td>Convert array of dictionaries to dictionary by using
lowercase keys.</td>
</tr>
<tr><td>to_doaod_by_key</td>
<td>Convert array of dictionaries to dictionary of arrays
of dictionaries by using the key.</td>
</tr>
<tr><td>to_unique_by_key</td>
<td>Convert array of dictionaries to unique array of
dictionaries by selecting dictionaries with key.</td>
</tr>
<tr><td>union_distinct</td>
<td>Make the array of dictionaries unique.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="method-add">
<h5><a class="toc-backref" href="#toc-entry-11">Method: add</a></h5>
<div class="section" id="description">
<h6><a class="toc-backref" href="#toc-entry-12">Description</a></h6>
<p>Add an object to an array of dictionaries.</p>
<ol class="arabic simple">
<li>If the objects is a dictionary:<ul>
<li>the object is appended to the array of dictionaries</li>
</ul>
</li>
<li>If the objects is an array of dictionaries:<ul>
<li>the object extends the array of dictionaries</li>
</ul>
</li>
</ol>
</div>
<div class="section" id="parameter">
<h6><a class="toc-backref" href="#toc-entry-13">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-add-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method add</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>obj</td>
<td>TyAny</td>
<td>Object</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value">
<h6><a class="toc-backref" href="#toc-entry-14">Return Value</a></h6>
<blockquote>
<!-- Return-value-of-Method-add-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method add</em></caption>
<colgroup>
<col width="21%" />
<col width="13%" />
<col width="67%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>_aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaries.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-add-mapped-dic-value">
<h5><a class="toc-backref" href="#toc-entry-15">Method: add_mapped_dic_value</a></h5>
<div class="section" id="description-1">
<h6><a class="toc-backref" href="#toc-entry-16">Description</a></h6>
<p>Add the mapped dictionary value of the given key to the array of dictionaries.</p>
</div>
<div class="section" id="parameter-1">
<h6><a class="toc-backref" href="#toc-entry-17">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-add_mapped_dic_value-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method add_mapped_dic_value</em></caption>
<colgroup>
<col width="11%" />
<col width="29%" />
<col width="60%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>cls</td>
<td>class</td>
<td>Current class</td>
</tr>
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>dic</td>
<td>TnDic</td>
<td>Dictionary</td>
</tr>
<tr><td>key</td>
<td>TnAny</td>
<td>Key of dictionary</td>
</tr>
<tr><td>fnc</td>
<td>TyCallable</td>
<td>Function</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-1">
<h6><a class="toc-backref" href="#toc-entry-18">Return Value</a></h6>
<blockquote>
<!-- Return-value-of-Method-add-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method add</em></caption>
<colgroup>
<col width="21%" />
<col width="13%" />
<col width="67%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>_aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaries.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-add-mapped-dic-value-1">
<h5><a class="toc-backref" href="#toc-entry-19">Method: add_mapped_dic_value</a></h5>
<div class="section" id="description-2">
<h6><a class="toc-backref" href="#toc-entry-20">Description</a></h6>
<ol class="arabic simple">
<li>Apply the given function to the value of the given dictionary for
the key.</li>
<li>The result is used to extend the given array of dictionaries.</li>
</ol>
</div>
<div class="section" id="parameter-2">
<h6><a class="toc-backref" href="#toc-entry-21">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-extend_if_not_empty-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method extend_if_not_empty</em></caption>
<colgroup>
<col width="21%" />
<col width="26%" />
<col width="54%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>dic</td>
<td>TyDic</td>
<td>Dictionary</td>
</tr>
<tr><td>key</td>
<td>TnAny</td>
<td>Dictionary key</td>
</tr>
<tr><td>function</td>
<td>TyCallable</td>
<td>Function</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-2">
<h6><a class="toc-backref" href="#toc-entry-22">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-extend_if_not_empty-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method extend_if_not_empty</em></caption>
<colgroup>
<col width="21%" />
<col width="13%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>_aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-append-unique">
<h5><a class="toc-backref" href="#toc-entry-23">Method: append_unique</a></h5>
<div class="section" id="description-3">
<h6><a class="toc-backref" href="#toc-entry-24">Description</a></h6>
<p>Append the dictionary to the array of dictionaries if it does not exist in the array.</p>
</div>
<div class="section" id="parameter-3">
<h6><a class="toc-backref" href="#toc-entry-25">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-append_unique-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method append_unique</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>dic</td>
<td>TyDic</td>
<td>Dictionary</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-apply-function">
<h5><a class="toc-backref" href="#toc-entry-26">Method: apply_function</a></h5>
<div class="section" id="description-4">
<h6><a class="toc-backref" href="#toc-entry-27">Description</a></h6>
<p>Create a new array of dictionaries by applying the function to each element
of the array of dictionaries.</p>
</div>
<div class="section" id="parameter-4">
<h6><a class="toc-backref" href="#toc-entry-28">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-apply_function-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method apply_function</em></caption>
<colgroup>
<col width="13%" />
<col width="21%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>fnc</td>
<td>TnCallable</td>
<td>Function</td>
</tr>
<tr><td>kwargs</td>
<td>TnDic</td>
<td>Dictionary of keyword arguments</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-3">
<h6><a class="toc-backref" href="#toc-entry-29">Return value</a></h6>
<blockquote>
<!-- Return-value-of-Method-apply_function-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method apply_function</em></caption>
<colgroup>
<col width="19%" />
<col width="14%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod_new</td>
<td>TyAoD</td>
<td>new array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-dic-found-with-empty-value">
<h5><a class="toc-backref" href="#toc-entry-30">Method: dic_found_with_empty_value</a></h5>
<div class="section" id="description-5">
<h6><a class="toc-backref" href="#toc-entry-31">Description</a></h6>
<p>The Method <tt class="docutils literal">dic_found_with_empty_value</tt> performs the following steps:
#. Loop thru the array of dictionaries;</p>
<blockquote>
<dl class="docutils">
<dt>If the dictionary value for the key is empty and</dt>
<dd><dl class="first last docutils">
<dt>if the switch &quot;sw_raise&quot; is True then</dt>
<dd>raise an Exception</dd>
<dt>else</dt>
<dd>return True.</dd>
</dl>
</dd>
</dl>
</blockquote>
<ol class="arabic simple">
<li>return False</li>
</ol>
</div>
<div class="section" id="parameter-5">
<h6><a class="toc-backref" href="#toc-entry-32">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-dic_found_with_empty_value-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method dic_found_with_empty_value</em></caption>
<colgroup>
<col width="19%" />
<col width="14%" />
<col width="17%" />
<col width="50%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Default</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>&nbsp;</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>TyStr</td>
<td>&nbsp;</td>
<td>Dictionary key</td>
</tr>
<tr><td>sw_raise</td>
<td>TyBool</td>
<td>False</td>
<td>Raise switch</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-4">
<h6><a class="toc-backref" href="#toc-entry-33">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-dic_found_with_empty_value-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method dic_found_with_empty_value</em></caption>
<colgroup>
<col width="11%" />
<col width="16%" />
<col width="74%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>&nbsp;</td>
<td>TyBool</td>
<td>key is found in a dictionary</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-merge-aod">
<h5><a class="toc-backref" href="#toc-entry-34">Method: merge_aod</a></h5>
<div class="section" id="description-6">
<h6><a class="toc-backref" href="#toc-entry-35">Description</a></h6>
<p>Merge two arrays of dictionaries.
Every dictionary of the first array of dictionaries is merged
with all dictionaries of the second array of dictionaries.</p>
</div>
<div class="section" id="parameter-6">
<h6><a class="toc-backref" href="#toc-entry-36">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-join_aod-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method join_aod</em></caption>
<colgroup>
<col width="11%" />
<col width="14%" />
<col width="76%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod0</td>
<td>TyAoD</td>
<td>First array of dictionaries</td>
</tr>
<tr><td>aod1</td>
<td>TyAoD</td>
<td>Second array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-5">
<h6><a class="toc-backref" href="#toc-entry-37">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-join_aod-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method join_aod</em></caption>
<colgroup>
<col width="21%" />
<col width="13%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>_aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-merge-dic">
<h5><a class="toc-backref" href="#toc-entry-38">Method: merge_dic</a></h5>
<div class="section" id="description-7">
<h6><a class="toc-backref" href="#toc-entry-39">Description</a></h6>
<p>Merge array of dictionaries with a dictionary.
Every dictionary of the array of dictionaries is merged with the dictionary.</p>
</div>
<div class="section" id="parameter-7">
<h6><a class="toc-backref" href="#toc-entry-40">Parameter</a></h6>
<blockquote>
<table border="1" class="docutils">
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>dic</td>
<td>TyDic</td>
<td>Dictionary</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-6">
<h6><a class="toc-backref" href="#toc-entry-41">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-merge_dic-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method merge_dic</em></caption>
<colgroup>
<col width="21%" />
<col width="13%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>_aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-nvl">
<h5><a class="toc-backref" href="#toc-entry-42">Method: nvl</a></h5>
<div class="section" id="description-8">
<h6><a class="toc-backref" href="#toc-entry-43">Description</a></h6>
<p>If the array of dictionaries is undefined then return the
empty array otherwise return the array of dictionaries.</p>
</div>
<div class="section" id="parameter-8">
<h6><a class="toc-backref" href="#toc-entry-44">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-nvl-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method nvl</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TnAoD</td>
<td>Array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-7">
<h6><a class="toc-backref" href="#toc-entry-45">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-nvl-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method nvl</em></caption>
<colgroup>
<col width="19%" />
<col width="14%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod_new</td>
<td>TyArr</td>
<td>New array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-put">
<h5><a class="toc-backref" href="#toc-entry-46">Method: put</a></h5>
<div class="section" id="description-9">
<h6><a class="toc-backref" href="#toc-entry-47">Description</a></h6>
<ol class="arabic simple">
<li>Transform array of dictionaries (1.argument) with a transformer function (3.argument)</li>
<li>If the I/O function is defined for the given dataframe type (4.argument).
#. write result to a csv file with the given path name (2.argument).</li>
</ol>
</div>
<div class="section" id="parameter-9">
<h6><a class="toc-backref" href="#toc-entry-48">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-put-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method put</em></caption>
<colgroup>
<col width="21%" />
<col width="18%" />
<col width="62%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>path</td>
<td>TyPath</td>
<td>Csv file path</td>
</tr>
<tr><td>fnc_aod</td>
<td>TyAoD</td>
<td>AoD function</td>
</tr>
<tr><td>df_type</td>
<td>TyStr</td>
<td>Dataframe type</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-sh-doaod-split-by-value-is-not-empty">
<h5><a class="toc-backref" href="#toc-entry-49">Method: sh_doaod_split_by_value_is_not_empty</a></h5>
<div class="section" id="description-10">
<h6><a class="toc-backref" href="#toc-entry-50">Description</a></h6>
<ol class="arabic simple">
<li>Create 2-dimensional dict. of array of dictionaries from given array of dictionaries
and key to split the array of dictionaries into 2 array of dictionaries by
the two conditions<ul>
<li>The key is contained in the dictionary and the value empty.</li>
<li>The key is contained in the dictionary and the value is not empty.</li>
</ul>
</li>
<li>The first array of dictionaries is created by the condition and is assigned to
the new dictionary of array of dictionaries using the given key.</li>
<li>The second array of dictionaries is created by the negation of the condition and
is assigned to the new dictionary of array of dictionaries using the given key.</li>
</ol>
</div>
<div class="section" id="parameter-10">
<h6><a class="toc-backref" href="#toc-entry-51">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-sh_doaod_split_by_value_is_not_empty-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method sh_doaod_split_by_value_is_not_empty</em></caption>
<colgroup>
<col width="10%" />
<col width="10%" />
<col width="79%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Dictionary key</td>
</tr>
<tr><td>key_n</td>
<td>Any</td>
<td>key of the array of dictionaries
wich satisfies the condition.</td>
</tr>
<tr><td>key_y</td>
<td>Any</td>
<td>key of the array of dictionaries which
does not satisfies the condition.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-8">
<h6><a class="toc-backref" href="#toc-entry-52">Return value</a></h6>
<blockquote>
<!-- Return-value-of_Method-sh_doaod_split_by_value_is_not_empty-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method sh_doaod_split_by_value_is_not_empty</em></caption>
<colgroup>
<col width="11%" />
<col width="15%" />
<col width="74%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>doaod</td>
<td>TyDoAoD</td>
<td>Dictionary of array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-sh-dod">
<h5><a class="toc-backref" href="#toc-entry-53">Method: sh_dod</a></h5>
<div class="section" id="description-11">
<h6><a class="toc-backref" href="#toc-entry-54">Description</a></h6>
<p>Create dictionary of dictionaries from the array of dictionaries and the key.</p>
</div>
<div class="section" id="parameter-11">
<h6><a class="toc-backref" href="#toc-entry-55">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-sh_dod-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method sh_dod</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Key</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-9">
<h6><a class="toc-backref" href="#toc-entry-56">Return Value</a></h6>
<blockquote>
<!-- Return value-of_Method-sh_dod-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method sh_dod</em></caption>
<colgroup>
<col width="11%" />
<col width="14%" />
<col width="74%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>dod</td>
<td>TyDoD</td>
<td>Dictionary of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-sh-unique">
<h5><a class="toc-backref" href="#toc-entry-57">Method: sh_unique</a></h5>
<div class="section" id="description-12">
<h6><a class="toc-backref" href="#toc-entry-58">Description</a></h6>
<p>Deduplicate array of dictionaries (1.argument).</p>
</div>
<div class="section" id="parameter-12">
<h6><a class="toc-backref" href="#toc-entry-59">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-sh_unique-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method sh_unique</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Key</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-10">
<h6><a class="toc-backref" href="#toc-entry-60">Return Value</a></h6>
<blockquote>
<!-- Return value-of_Method-sh_unique-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method sh_unique</em></caption>
<colgroup>
<col width="19%" />
<col width="14%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaties</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-split-by-value-is-not-empty">
<h5><a class="toc-backref" href="#toc-entry-61">Method: split_by_value_is_not_empty</a></h5>
<div class="section" id="description-13">
<h6><a class="toc-backref" href="#toc-entry-62">Description</a></h6>
<p>Split the given array of dictionary into 2 arrays of dictionary by the condition
&quot;the key is contained in the dictionary and the value is not empty&quot;</p>
</div>
<div class="section" id="parameter-13">
<h6><a class="toc-backref" href="#toc-entry-63">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-split_by_value_is_not_empty-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method split_by_value_is_not_empty</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Key</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-11">
<h6><a class="toc-backref" href="#toc-entry-64">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-split_by_value_is_not_empty-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method split_by_value_is_not_empty</em></caption>
<colgroup>
<col width="25%" />
<col width="15%" />
<col width="60%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>(aod_n, aod_y)</td>
<td>Ty2ToAoD</td>
<td>Tuple of 2 arrays of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-sw-key-value-found">
<h5><a class="toc-backref" href="#toc-entry-65">Method: sw_key_value_found</a></h5>
<div class="section" id="description-14">
<h6><a class="toc-backref" href="#toc-entry-66">Description</a></h6>
<p>Set the condition to True if:
* the key is contained in a dictionary of the array of dictionaries and
* the key value is not empty&quot;</p>
</div>
<div class="section" id="parameter-14">
<h6><a class="toc-backref" href="#toc-entry-67">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-sw_key_value_found-label: -->
<table border="1" class="docutils">
<caption><em>Parameter value of Method sw_key_value_found</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Key</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-12">
<h6><a class="toc-backref" href="#toc-entry-68">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-sw_key_value_found-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method sw_key_value_found</em></caption>
<colgroup>
<col width="10%" />
<col width="14%" />
<col width="76%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>sw</td>
<td>TyBool</td>
<td>key is contained in a dictionary
of the array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-aoa">
<h5><a class="toc-backref" href="#toc-entry-69">Method: to_aoa</a></h5>
<div class="section" id="description-15">
<h6><a class="toc-backref" href="#toc-entry-70">Description</a></h6>
<p>Create array of arrays from given array of dictionaries (1.argument).</p>
<ol class="arabic simple">
<li>If switch sw_keys (2.argument) is True:<ul>
<li>Create the first element of the array of arrays as the list of dict. keys of the
first elements of the array of dictionaries.</li>
</ul>
</li>
<li>If the switch sw_values (3. argument) is True:<ul>
<li>Create the other elemens of the array of dictionries as list of dict. values of the
elements of the array of dictionaries.</li>
</ul>
</li>
</ol>
</div>
<div class="section" id="parameter-15">
<h6><a class="toc-backref" href="#toc-entry-71">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-to_aoa-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_aoa</em></caption>
<colgroup>
<col width="25%" />
<col width="17%" />
<col width="58%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>sw_keys</td>
<td>TyBool</td>
<td>Keys switch</td>
</tr>
<tr><td>sw_values</td>
<td>TyBool</td>
<td>Values switch</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-13">
<h6><a class="toc-backref" href="#toc-entry-72">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-to_aoa-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_aoa</em></caption>
<colgroup>
<col width="17%" />
<col width="21%" />
<col width="63%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aoa</td>
<td>TyAoA</td>
<td>array of arrays</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-aoa-of-key-values">
<h5><a class="toc-backref" href="#toc-entry-73">Method: to_aoa of_key_values</a></h5>
<div class="section" id="description-16">
<h6><a class="toc-backref" href="#toc-entry-74">Description</a></h6>
<p>Convert the given array of dictionary (1.argument) into an array of arrays.
#. Create first element of the new array of arrays as the keys-list of the first dictionary.
#. Create other elements as the values-lists of the dictionaries of the array of dictionaries.</p>
</div>
<div class="section" id="parameter-16">
<h6><a class="toc-backref" href="#toc-entry-75">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-to_aoa of_key_values-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_aoa of_key_values</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-14">
<h6><a class="toc-backref" href="#toc-entry-76">Return Value</a></h6>
<blockquote>
<!-- Return-value-of_Method-to_aoa of_key_values-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_aoa of_key_values</em></caption>
<colgroup>
<col width="17%" />
<col width="21%" />
<col width="63%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aoa</td>
<td>TyAoA</td>
<td>Array of arrays</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-aoa-of-values">
<h5><a class="toc-backref" href="#toc-entry-77">Method: to_aoa_of_values</a></h5>
<div class="section" id="description-17">
<h6><a class="toc-backref" href="#toc-entry-78">Description</a></h6>
<p>Convert the given array of dictionaries (1.argument) into an array of arrays.
The elements of the new array of arrays are the values-lists of the dictionaries
of the array of dictionaries.</p>
</div>
<div class="section" id="parameter-17">
<h6><a class="toc-backref" href="#toc-entry-79">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-to_aoa_of_values-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_aoa_of_values</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-15">
<h6><a class="toc-backref" href="#toc-entry-80">Return Value</a></h6>
<blockquote>
<!-- Return-value-of-Method-to_aoa_of_values-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_aoa_of_values</em></caption>
<colgroup>
<col width="17%" />
<col width="21%" />
<col width="63%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aoa</td>
<td>TyAoA</td>
<td>Array of arrays</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-arr-of-key-values">
<h5><a class="toc-backref" href="#toc-entry-81">Method: to_arr_of_key_values</a></h5>
<div class="section" id="description-18">
<h6><a class="toc-backref" href="#toc-entry-82">Description</a></h6>
<p>Convert the given array of dictionaries (1.argument) to an array. The elements of the new
array are the selected values of each dictionary of the array of dictionaries with the
given key (2.argument).</p>
</div>
<div class="section" id="parameter-18">
<h6><a class="toc-backref" href="#toc-entry-83">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-to_arr_of_key_values-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_arr_of_key_values</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Key</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-16">
<h6><a class="toc-backref" href="#toc-entry-84">Return Value</a></h6>
<blockquote>
<!-- Return-value-of-Method-to_arr_of_key_values-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_arr_of_key_values</em></caption>
<colgroup>
<col width="12%" />
<col width="15%" />
<col width="74%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>arr</td>
<td>TyAoD</td>
<td>New array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-csv-with-dictwriterows">
<h5><a class="toc-backref" href="#toc-entry-85">Method: to_csv_with_dictwriterows</a></h5>
<div class="section" id="description-19">
<h6><a class="toc-backref" href="#toc-entry-86">Description</a></h6>
<p>Write given array of dictionaries (1.argument) to a csv file with the given path
name (2.argument) using the function &quot;dictwriter&quot; of the builtin path module &quot;csv&quot;</p>
</div>
<div class="section" id="parameter-19">
<h6><a class="toc-backref" href="#toc-entry-87">Parameter</a></h6>
<blockquote>
<!-- Parameter-of Method-csv_dictwriterows-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method csv_dictwriterows</em></caption>
<colgroup>
<col width="13%" />
<col width="19%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>path</td>
<td>TyPath</td>
<td>Path</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-csv-with-pd">
<h5><a class="toc-backref" href="#toc-entry-88">Method: to_csv_with_pd</a></h5>
<div class="section" id="description-20">
<h6><a class="toc-backref" href="#toc-entry-89">Description</a></h6>
<ol class="arabic simple">
<li>Convert the array of dictionaries to a pandas dataframe.</li>
<li>Apply the given function to the pandas dataframe.</li>
<li>Write the pandas dataframe to a csv file with the given name.</li>
</ol>
</div>
<div class="section" id="parameter-20">
<h6><a class="toc-backref" href="#toc-entry-90">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-pd_to_csv-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method pd-to_csv</em></caption>
<colgroup>
<col width="11%" />
<col width="29%" />
<col width="60%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>path</td>
<td>TyPath</td>
<td>Csv file path</td>
</tr>
<tr><td>fnc</td>
<td>TyCallable</td>
<td>Panda function</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-csv-with-pl">
<h5><a class="toc-backref" href="#toc-entry-91">Method: to_csv_with_pl</a></h5>
<div class="section" id="description-21">
<h6><a class="toc-backref" href="#toc-entry-92">Description</a></h6>
<ol class="arabic simple">
<li>Convert the array of dictionaries to a panda dataframe.</li>
<li>Convert the panda dataframe to a polars dataframe.</li>
<li>Apply the given function to the polars dataframe.</li>
<li>Write the polars dataframe to a csv file with the given name.</li>
</ol>
</div>
<div class="section" id="parameter-21">
<h6><a class="toc-backref" href="#toc-entry-93">Parameter</a></h6>
<blockquote>
<!-- Parameter-of_Method-pl_to_csv-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method pl_to_csv</em></caption>
<colgroup>
<col width="11%" />
<col width="29%" />
<col width="60%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>path</td>
<td>TyPath</td>
<td>Csv file path</td>
</tr>
<tr><td>fnc</td>
<td>TyCallable</td>
<td>Polars function</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-doaod-by-key">
<h5><a class="toc-backref" href="#toc-entry-94">Method: to_doaod_by_key</a></h5>
<div class="section" id="parameter-22">
<h6><a class="toc-backref" href="#toc-entry-95">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-to_doaod_by_key-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_doaod_by_key</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>Key</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-17">
<h6><a class="toc-backref" href="#toc-entry-96">Return Value</a></h6>
<blockquote>
<!-- Return-value-of-Method-to_doaod_by_key-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_doaod_by_key</em></caption>
<colgroup>
<col width="11%" />
<col width="11%" />
<col width="78%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>doaod</td>
<td>TyAoD</td>
<td>Dictionary of array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-dod-by-key">
<h5><a class="toc-backref" href="#toc-entry-97">Method: to_dod_by_key</a></h5>
<div class="section" id="parameter-23">
<h6><a class="toc-backref" href="#toc-entry-98">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-to_dod_by_key-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_dod_by_key</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-18">
<h6><a class="toc-backref" href="#toc-entry-99">Return Value</a></h6>
<blockquote>
<!-- Return value-of-Method-to_dod_by_key-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_dod_by_key</em></caption>
<colgroup>
<col width="18%" />
<col width="23%" />
<col width="59%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>dic</td>
<td>TyDic</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-doa-by-lc-keys">
<h5><a class="toc-backref" href="#toc-entry-100">Method: to_doa_by_lc_keys</a></h5>
<div class="section" id="parameter-24">
<h6><a class="toc-backref" href="#toc-entry-101">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-to_doa_by_lc_keys-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_doa_by_lc_keys</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-19">
<h6><a class="toc-backref" href="#toc-entry-102">Return Value</a></h6>
<blockquote>
<!-- Return value-of-Method-to_doa_by_lc_keys-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_doa_by_lc_keys</em></caption>
<colgroup>
<col width="14%" />
<col width="17%" />
<col width="69%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>doa</td>
<td>TyDoA</td>
<td>Dictionary of arrays</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-to-unique-by-key">
<h5><a class="toc-backref" href="#toc-entry-103">Method: to_unique_by_key</a></h5>
<div class="section" id="parameter-25">
<h6><a class="toc-backref" href="#toc-entry-104">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-to_unique_by_key-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method to_unique_by_key</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
<tr><td>key</td>
<td>Any</td>
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="return-value-20">
<h6><a class="toc-backref" href="#toc-entry-105">Return Value</a></h6>
<blockquote>
<!-- Return value-of-Method-to_unique_by_key-label: -->
<table border="1" class="docutils">
<caption><em>Return value of Method to_unique_by_key</em></caption>
<colgroup>
<col width="21%" />
<col width="13%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>_aod_new</td>
<td>TyAoD</td>
<td>New array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="method-write-xlsx-wb">
<h5><a class="toc-backref" href="#toc-entry-106">Method: write_xlsx_wb</a></h5>
<div class="section" id="parameter-26">
<h6><a class="toc-backref" href="#toc-entry-107">Parameter</a></h6>
<blockquote>
<!-- Parameter-of-Method-write_xlsx_wb-label: -->
<table border="1" class="docutils">
<caption><em>Parameter of Method write_xlsx_wb</em></caption>
<colgroup>
<col width="13%" />
<col width="17%" />
<col width="70%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>aod</td>
<td>TyAoD</td>
<td>Array of dictionaries</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="section" id="appendix">
<h1><a class="toc-backref" href="#toc-entry-108">Appendix</a></h1>
<div class="section" id="python-glossary">
<h2><a class="toc-backref" href="#toc-entry-109">Python Glossary</a></h2>
<div class="section" id="python-modules-1">
<span id="python-modules"></span><h3><a class="toc-backref" href="#toc-entry-110">Python Modules</a></h3>
<div class="section" id="overview-1">
<h4><a class="toc-backref" href="#toc-entry-111">Overview</a></h4>
<blockquote>
<!-- Python-Modules-label: -->
<table border="1" class="docutils">
<caption><em>Python Modules</em></caption>
<colgroup>
<col width="20%" />
<col width="14%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head" colspan="2">Definition</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python modules</td>
<td colspan="2">Files with suffix <tt class="docutils literal">.py</tt>; they could be empty or contain
python code; other modules can be imported into a module.</td>
</tr>
<tr><td>special Python
modules</td>
<td colspan="2">Modules like <tt class="docutils literal">__init__.py</tt> or <tt class="docutils literal">main.py</tt> with special
names and functionality.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="python-function">
<span id="python-functions"></span><h3><a class="toc-backref" href="#toc-entry-112">Python Function</a></h3>
<div class="section" id="overview-2">
<h4><a class="toc-backref" href="#toc-entry-113">Overview</a></h4>
<blockquote>
<!-- Python-Function-label: -->
<table border="1" class="docutils">
<caption><em>Python Function</em></caption>
<colgroup>
<col width="21%" />
<col width="14%" />
<col width="65%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head" colspan="2">Definition</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python function</td>
<td colspan="2">Files with suffix <tt class="docutils literal">.py</tt>; they could be empty or contain
python code; other modules can be imported into a module.</td>
</tr>
<tr><td>special Python
modules</td>
<td colspan="2">Modules like <tt class="docutils literal">__init__.py</tt> or <tt class="docutils literal">main.py</tt> with special
names and functionality.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="python-packages-1">
<span id="python-packages"></span><h3><a class="toc-backref" href="#toc-entry-114">Python Packages</a></h3>
<div class="section" id="overview-3">
<h4><a class="toc-backref" href="#toc-entry-115">Overview</a></h4>
<blockquote>
<!-- Python Packages-Overview-label: -->
<table border="1" class="docutils">
<caption><em>Python Packages Overview</em></caption>
<colgroup>
<col width="32%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Definition</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python package</td>
<td>Python packages are directories that contains
the special module <tt class="docutils literal">__init__.py</tt> and other
modules, sub packages, files or directories.</td>
</tr>
<tr><td>Python sub-package</td>
<td>Python sub-packages are python packages which
are contained in another python package.</td>
</tr>
<tr><td>Python package
sub-directory</td>
<td>directory contained in a python package.</td>
</tr>
<tr><td>Python package
special sub-directory</td>
<td>Python package sub-directories with a special
meaning like data or cfg</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="special-python-package-sub-directories">
<h4><a class="toc-backref" href="#toc-entry-116">Special python package sub-directories</a></h4>
<blockquote>
<!-- Special-python-package-sub-directory-Examples-label: -->
<table border="1" class="docutils">
<caption><em>Special python package sub-directories</em></caption>
<colgroup>
<col width="14%" />
<col width="86%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>bin</td>
<td>Directory for package scripts.</td>
</tr>
<tr><td>cfg</td>
<td>Directory for package configuration files.</td>
</tr>
<tr><td>data</td>
<td>Directory for package data files.</td>
</tr>
<tr><td>service</td>
<td>Directory for systemd service scripts.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="python-files-1">
<span id="python-files"></span><h3><a class="toc-backref" href="#toc-entry-117">Python Files</a></h3>
<div class="section" id="overview-4">
<h4><a class="toc-backref" href="#toc-entry-118">Overview</a></h4>
<blockquote>
<!-- Python-files-label: -->
<table border="1" class="docutils">
<caption><em>Python files</em></caption>
<colgroup>
<col width="20%" />
<col width="14%" />
<col width="66%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head" colspan="2">Definition</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python modules</td>
<td colspan="2">Files with suffix <tt class="docutils literal">.py</tt>; they could be empty or contain
python code; other modules can be imported into a module.</td>
</tr>
<tr><td>Python package
files</td>
<td colspan="2">Files within a python package.</td>
</tr>
<tr><td>Python dunder
modules</td>
<td colspan="2">Python modules which are named with leading and trailing
double underscores.</td>
</tr>
<tr><td>special
Python files</td>
<td colspan="2">Files which are not modules and used as python marker
files like <tt class="docutils literal">py.typed</tt>.</td>
</tr>
<tr><td>special Python
modules</td>
<td colspan="2">Modules like <tt class="docutils literal">__init__.py</tt> or <tt class="docutils literal">main.py</tt> with special
names and functionality.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="python-special-files-1">
<span id="python-special-files"></span><h4><a class="toc-backref" href="#toc-entry-119">Python Special Files</a></h4>
<blockquote>
<!-- Python-special-files-label: -->
<table border="1" class="docutils">
<caption><em>Python special files</em></caption>
<colgroup>
<col width="10%" />
<col width="10%" />
<col width="79%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>py.typed</td>
<td>Type
checking
marker
file</td>
<td>The <tt class="docutils literal">py.typed</tt> file is a marker file used in Python packages
to indicate that the package supports type checking. This is a
part of the PEP 561 standard, which provides a standardized
way to package and distribute type information in Python.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="python-special-modules-1">
<span id="python-special-modules"></span><h4><a class="toc-backref" href="#toc-entry-120">Python Special Modules</a></h4>
<blockquote>
<!-- Python-special-modules-label: -->
<table border="1" class="docutils">
<caption><em>Python special modules</em></caption>
<colgroup>
<col width="16%" />
<col width="12%" />
<col width="72%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>__init__.py</td>
<td>Package
directory
marker
file</td>
<td>The dunder (double underscore) module <tt class="docutils literal">__init__.py</tt> is used to
execute initialisation code or mark the directory it contains
as a package. The Module enforces explicit imports and thus
clear namespace use and call them with the dot notation.</td>
</tr>
<tr><td>__main__.py</td>
<td>entry point
for the
package</td>
<td>The dunder module <tt class="docutils literal">__main__.py</tt> serves as package entry point
point. The module is executed when the package is called by the
interpreter with the command <strong>python -m &lt;package name&gt;</strong>.</td>
</tr>
<tr><td>__version__.py</td>
<td>Version
file</td>
<td>The dunder module <tt class="docutils literal">__version__.py</tt> consist of assignment
statements used in Versioning.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="python-classes">
<h3><a class="toc-backref" href="#toc-entry-121">Python classes</a></h3>
<div class="section" id="overview-5">
<h4><a class="toc-backref" href="#toc-entry-122">Overview</a></h4>
<blockquote>
<!-- Python-classes-overview-label: -->
<table border="1" class="docutils">
<caption><em>Python classes overview</em></caption>
<colgroup>
<col width="27%" />
<col width="73%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python class</td>
<td>A class is a container to group related methods and
variables together, even if no objects are created.
This helps in organizing code logically.</td>
</tr>
<tr><td>Python static class</td>
<td>A class which contains only &#64;staticmethod or
&#64;classmethod methods and no instance-specific
attributes or methods.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
<div class="section" id="python-methods">
<h3><a class="toc-backref" href="#toc-entry-123">Python methods</a></h3>
<div class="section" id="overview-6">
<h4><a class="toc-backref" href="#toc-entry-124">Overview</a></h4>
<blockquote>
<!-- Python-methods-overview-label: -->
<table border="1" class="docutils">
<caption><em>Python methods overview</em></caption>
<colgroup>
<col width="25%" />
<col width="75%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python method</td>
<td>Python functions defined in python modules.</td>
</tr>
<tr><td>Python class
method</td>
<td>Python functions defined in python classes.</td>
</tr>
<tr><td>Python special
class method</td>
<td>Python class methods with special names and
functionalities.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="python-class-methods">
<h4><a class="toc-backref" href="#toc-entry-125">Python class methods</a></h4>
<blockquote>
<!-- Python-class-methods-label: -->
<table border="1" class="docutils">
<caption><em>Python class methods</em></caption>
<colgroup>
<col width="23%" />
<col width="77%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>Python no
instance
class method</td>
<td>Python function defined in python classes and
decorated with &#64;classmethod or &#64;staticmethod.
The first parameter conventionally called cls
is a reference to the current class.</td>
</tr>
<tr><td>Python
instance
class method</td>
<td>Python function defined in python classes; the
first parameter conventionally called self is
a reference to the current class object.</td>
</tr>
<tr><td>special Python
class method</td>
<td>Python class functions with special names and
functionalities.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
<div class="section" id="python-special-class-methods">
<h4><a class="toc-backref" href="#toc-entry-126">Python special class methods</a></h4>
<blockquote>
<!-- Python-methods-examples-label: -->
<table border="1" class="docutils">
<caption><em>Python methods examples</em></caption>
<colgroup>
<col width="10%" />
<col width="14%" />
<col width="77%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">Name</th>
<th class="head">Type</th>
<th class="head">Description</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>__init__</td>
<td>class
object
constructor
method</td>
<td>The special method <tt class="docutils literal">__init__</tt> is called when an instance
(object) of a class is created; instance attributes can be
defined and initalized in the method. The method us a single
parameter conventionally called <tt class="docutils literal">self</tt> to access the object.</td>
</tr>
</tbody>
</table>
</blockquote>
</div>
</div>
</div>
</div>
<div class="section" id="table-of-contents">
<h1><a class="toc-backref" href="#toc-entry-127">Table of Contents</a></h1>
<div class="contents topic" id="table-of-content">
<p class="topic-title"><a class="reference internal" href="#top"><strong>Table of Content</strong></a></p>
<ul class="simple">
<li><a class="reference internal" href="#ut-aod" id="toc-entry-1">ut_aod</a><ul>
<li><a class="reference internal" href="#overview" id="toc-entry-2">Overview</a></li>
<li><a class="reference internal" href="#installation" id="toc-entry-3">Installation</a></li>
<li><a class="reference internal" href="#package-logging" id="toc-entry-4">Package logging</a></li>
<li><a class="reference internal" href="#package-files" id="toc-entry-5">Package files</a><ul>
<li><a class="reference internal" href="#classification" id="toc-entry-6">Classification</a></li>
</ul>
</li>
<li><a class="reference internal" href="#modules" id="toc-entry-7">Modules</a><ul>
<li><a class="reference internal" href="#module-aod-py" id="toc-entry-8">Module: aod.py</a><ul>
<li><a class="reference internal" href="#class-aod" id="toc-entry-9">Class: AoD</a><ul>
<li><a class="reference internal" href="#methods" id="toc-entry-10">Methods</a></li>
<li><a class="reference internal" href="#method-add" id="toc-entry-11">Method: add</a><ul>
<li><a class="reference internal" href="#description" id="toc-entry-12">Description</a></li>
<li><a class="reference internal" href="#parameter" id="toc-entry-13">Parameter</a></li>
<li><a class="reference internal" href="#return-value" id="toc-entry-14">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-add-mapped-dic-value" id="toc-entry-15">Method: add_mapped_dic_value</a><ul>
<li><a class="reference internal" href="#description-1" id="toc-entry-16">Description</a></li>
<li><a class="reference internal" href="#parameter-1" id="toc-entry-17">Parameter</a></li>
<li><a class="reference internal" href="#return-value-1" id="toc-entry-18">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-add-mapped-dic-value-1" id="toc-entry-19">Method: add_mapped_dic_value</a><ul>
<li><a class="reference internal" href="#description-2" id="toc-entry-20">Description</a></li>
<li><a class="reference internal" href="#parameter-2" id="toc-entry-21">Parameter</a></li>
<li><a class="reference internal" href="#return-value-2" id="toc-entry-22">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-append-unique" id="toc-entry-23">Method: append_unique</a><ul>
<li><a class="reference internal" href="#description-3" id="toc-entry-24">Description</a></li>
<li><a class="reference internal" href="#parameter-3" id="toc-entry-25">Parameter</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-apply-function" id="toc-entry-26">Method: apply_function</a><ul>
<li><a class="reference internal" href="#description-4" id="toc-entry-27">Description</a></li>
<li><a class="reference internal" href="#parameter-4" id="toc-entry-28">Parameter</a></li>
<li><a class="reference internal" href="#return-value-3" id="toc-entry-29">Return value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-dic-found-with-empty-value" id="toc-entry-30">Method: dic_found_with_empty_value</a><ul>
<li><a class="reference internal" href="#description-5" id="toc-entry-31">Description</a></li>
<li><a class="reference internal" href="#parameter-5" id="toc-entry-32">Parameter</a></li>
<li><a class="reference internal" href="#return-value-4" id="toc-entry-33">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-merge-aod" id="toc-entry-34">Method: merge_aod</a><ul>
<li><a class="reference internal" href="#description-6" id="toc-entry-35">Description</a></li>
<li><a class="reference internal" href="#parameter-6" id="toc-entry-36">Parameter</a></li>
<li><a class="reference internal" href="#return-value-5" id="toc-entry-37">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-merge-dic" id="toc-entry-38">Method: merge_dic</a><ul>
<li><a class="reference internal" href="#description-7" id="toc-entry-39">Description</a></li>
<li><a class="reference internal" href="#parameter-7" id="toc-entry-40">Parameter</a></li>
<li><a class="reference internal" href="#return-value-6" id="toc-entry-41">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-nvl" id="toc-entry-42">Method: nvl</a><ul>
<li><a class="reference internal" href="#description-8" id="toc-entry-43">Description</a></li>
<li><a class="reference internal" href="#parameter-8" id="toc-entry-44">Parameter</a></li>
<li><a class="reference internal" href="#return-value-7" id="toc-entry-45">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-put" id="toc-entry-46">Method: put</a><ul>
<li><a class="reference internal" href="#description-9" id="toc-entry-47">Description</a></li>
<li><a class="reference internal" href="#parameter-9" id="toc-entry-48">Parameter</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-sh-doaod-split-by-value-is-not-empty" id="toc-entry-49">Method: sh_doaod_split_by_value_is_not_empty</a><ul>
<li><a class="reference internal" href="#description-10" id="toc-entry-50">Description</a></li>
<li><a class="reference internal" href="#parameter-10" id="toc-entry-51">Parameter</a></li>
<li><a class="reference internal" href="#return-value-8" id="toc-entry-52">Return value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-sh-dod" id="toc-entry-53">Method: sh_dod</a><ul>
<li><a class="reference internal" href="#description-11" id="toc-entry-54">Description</a></li>
<li><a class="reference internal" href="#parameter-11" id="toc-entry-55">Parameter</a></li>
<li><a class="reference internal" href="#return-value-9" id="toc-entry-56">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-sh-unique" id="toc-entry-57">Method: sh_unique</a><ul>
<li><a class="reference internal" href="#description-12" id="toc-entry-58">Description</a></li>
<li><a class="reference internal" href="#parameter-12" id="toc-entry-59">Parameter</a></li>
<li><a class="reference internal" href="#return-value-10" id="toc-entry-60">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-split-by-value-is-not-empty" id="toc-entry-61">Method: split_by_value_is_not_empty</a><ul>
<li><a class="reference internal" href="#description-13" id="toc-entry-62">Description</a></li>
<li><a class="reference internal" href="#parameter-13" id="toc-entry-63">Parameter</a></li>
<li><a class="reference internal" href="#return-value-11" id="toc-entry-64">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-sw-key-value-found" id="toc-entry-65">Method: sw_key_value_found</a><ul>
<li><a class="reference internal" href="#description-14" id="toc-entry-66">Description</a></li>
<li><a class="reference internal" href="#parameter-14" id="toc-entry-67">Parameter</a></li>
<li><a class="reference internal" href="#return-value-12" id="toc-entry-68">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-aoa" id="toc-entry-69">Method: to_aoa</a><ul>
<li><a class="reference internal" href="#description-15" id="toc-entry-70">Description</a></li>
<li><a class="reference internal" href="#parameter-15" id="toc-entry-71">Parameter</a></li>
<li><a class="reference internal" href="#return-value-13" id="toc-entry-72">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-aoa-of-key-values" id="toc-entry-73">Method: to_aoa of_key_values</a><ul>
<li><a class="reference internal" href="#description-16" id="toc-entry-74">Description</a></li>
<li><a class="reference internal" href="#parameter-16" id="toc-entry-75">Parameter</a></li>
<li><a class="reference internal" href="#return-value-14" id="toc-entry-76">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-aoa-of-values" id="toc-entry-77">Method: to_aoa_of_values</a><ul>
<li><a class="reference internal" href="#description-17" id="toc-entry-78">Description</a></li>
<li><a class="reference internal" href="#parameter-17" id="toc-entry-79">Parameter</a></li>
<li><a class="reference internal" href="#return-value-15" id="toc-entry-80">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-arr-of-key-values" id="toc-entry-81">Method: to_arr_of_key_values</a><ul>
<li><a class="reference internal" href="#description-18" id="toc-entry-82">Description</a></li>
<li><a class="reference internal" href="#parameter-18" id="toc-entry-83">Parameter</a></li>
<li><a class="reference internal" href="#return-value-16" id="toc-entry-84">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-csv-with-dictwriterows" id="toc-entry-85">Method: to_csv_with_dictwriterows</a><ul>
<li><a class="reference internal" href="#description-19" id="toc-entry-86">Description</a></li>
<li><a class="reference internal" href="#parameter-19" id="toc-entry-87">Parameter</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-csv-with-pd" id="toc-entry-88">Method: to_csv_with_pd</a><ul>
<li><a class="reference internal" href="#description-20" id="toc-entry-89">Description</a></li>
<li><a class="reference internal" href="#parameter-20" id="toc-entry-90">Parameter</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-csv-with-pl" id="toc-entry-91">Method: to_csv_with_pl</a><ul>
<li><a class="reference internal" href="#description-21" id="toc-entry-92">Description</a></li>
<li><a class="reference internal" href="#parameter-21" id="toc-entry-93">Parameter</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-doaod-by-key" id="toc-entry-94">Method: to_doaod_by_key</a><ul>
<li><a class="reference internal" href="#parameter-22" id="toc-entry-95">Parameter</a></li>
<li><a class="reference internal" href="#return-value-17" id="toc-entry-96">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-dod-by-key" id="toc-entry-97">Method: to_dod_by_key</a><ul>
<li><a class="reference internal" href="#parameter-23" id="toc-entry-98">Parameter</a></li>
<li><a class="reference internal" href="#return-value-18" id="toc-entry-99">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-doa-by-lc-keys" id="toc-entry-100">Method: to_doa_by_lc_keys</a><ul>
<li><a class="reference internal" href="#parameter-24" id="toc-entry-101">Parameter</a></li>
<li><a class="reference internal" href="#return-value-19" id="toc-entry-102">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-to-unique-by-key" id="toc-entry-103">Method: to_unique_by_key</a><ul>
<li><a class="reference internal" href="#parameter-25" id="toc-entry-104">Parameter</a></li>
<li><a class="reference internal" href="#return-value-20" id="toc-entry-105">Return Value</a></li>
</ul>
</li>
<li><a class="reference internal" href="#method-write-xlsx-wb" id="toc-entry-106">Method: write_xlsx_wb</a><ul>
<li><a class="reference internal" href="#parameter-26" id="toc-entry-107">Parameter</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#appendix" id="toc-entry-108">Appendix</a><ul>
<li><a class="reference internal" href="#python-glossary" id="toc-entry-109">Python Glossary</a><ul>
<li><a class="reference internal" href="#python-modules-1" id="toc-entry-110">Python Modules</a><ul>
<li><a class="reference internal" href="#overview-1" id="toc-entry-111">Overview</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-function" id="toc-entry-112">Python Function</a><ul>
<li><a class="reference internal" href="#overview-2" id="toc-entry-113">Overview</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-packages-1" id="toc-entry-114">Python Packages</a><ul>
<li><a class="reference internal" href="#overview-3" id="toc-entry-115">Overview</a></li>
<li><a class="reference internal" href="#special-python-package-sub-directories" id="toc-entry-116">Special python package sub-directories</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-files-1" id="toc-entry-117">Python Files</a><ul>
<li><a class="reference internal" href="#overview-4" id="toc-entry-118">Overview</a></li>
<li><a class="reference internal" href="#python-special-files-1" id="toc-entry-119">Python Special Files</a></li>
<li><a class="reference internal" href="#python-special-modules-1" id="toc-entry-120">Python Special Modules</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-classes" id="toc-entry-121">Python classes</a><ul>
<li><a class="reference internal" href="#overview-5" id="toc-entry-122">Overview</a></li>
</ul>
</li>
<li><a class="reference internal" href="#python-methods" id="toc-entry-123">Python methods</a><ul>
<li><a class="reference internal" href="#overview-6" id="toc-entry-124">Overview</a></li>
<li><a class="reference internal" href="#python-class-methods" id="toc-entry-125">Python class methods</a></li>
<li><a class="reference internal" href="#python-special-class-methods" id="toc-entry-126">Python special class methods</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="reference internal" href="#table-of-contents" id="toc-entry-127">Table of Contents</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
