
\begin{DoxyItemize}
\item infos = Information about the csvstorage plugin is in keys below
\item infos/author = Thomas Waser \href{mailto:thomas.waser@libelektra.org}{\tt thomas.\+waser@libelektra.\+org}
\item infos/licence = B\+S\+D
\item infos/needs =
\item infos/provides = storage
\item infos/placements = getstorage setstorage
\item infos/description = parses csv files
\end{DoxyItemize}

This plugin allows you to read and write C\+S\+V files within Elektra.

\subsection*{Configuration}

{\ttfamily delimiter} Tells the plugin what delimiter is used in the file. The default delimiter is {\ttfamily ,} and will be used if {\ttfamily delimiter} is not set.

{\ttfamily header} Tells the plugin to use the first line as a header if it's set to \char`\"{}colname\char`\"{}. The columns will get the corresponding names. Skip the first line if it's set to \char`\"{}skip\char`\"{} or treat the first line as a record if it's set to \char`\"{}record\char`\"{}. If {\ttfamily header} is not set, or set to \char`\"{}record\char`\"{}, the columns get named \#0,\#1,... (array key naming)

{\ttfamily columns} If this key is set the plugin will yield an error for every file that doesn't have exactly the amount of columns ans specified in {\ttfamily columns}.

{\ttfamily columns/names} Sets the column names. Only usable in combination with the {\ttfamily columns} key. The number of subkeys must match the number of columns. Conflicts with usage of {\ttfamily header}.

\subsection*{Examples}

First line should determine the headers\+: \begin{DoxyVerb}    kdb mount test.csv /csv csvstorage "delimiter=;,header=colname,columns=2,columns/names,columns/names/#0=col0Name,columns/names/#1=col1Name"
\end{DoxyVerb}


\subsection*{Limitations}


\begin{DoxyItemize}
\item Does not work on file streams (e.\+g. {\ttfamily kdb import} without file) 
\end{DoxyItemize}