{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "#|hide\n", "#|default_exp reports" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "# Maintenance Reports\n", "Parse Maintenance reports from LimeSurvey and legacy spreadsheet formats.\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "#|export\n", "import pandas as pd\n", "from pandas._typing import (\n", " FilePath,\n", " ReadCsvBuffer,\n", ")\n", "import datetime as dt\n", "import numpy as np\n", "from toolz import assoc_in\n", "\n", "from pyrnet import utils" ] }, { "cell_type": "markdown", "metadata": { "collapsed": false }, "source": [ "\n", "## Survey Export\n", "In the following, the functions are designed to work with the survey response export in the .csv format:\n", "* Field separator: \"Semicolon\"\n", "* Responses: \"Answer codes\"\n", "* Headings: \"Question code\"\n", "\n", "The responses can be exported manually from the website ..." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
| \n", " | id | \n", "submitdate | \n", "lastpage | \n", "startlanguage | \n", "seed | \n", "startdate | \n", "datestamp | \n", "Q00 | \n", "Q01 | \n", "MainQ01 | \n", "... | \n", "interviewtime | \n", "groupTime57 | \n", "Q00Time | \n", "Q01Time | \n", "groupTime59 | \n", "MainQ01Time | \n", "MainQ02Time | \n", "groupTime58 | \n", "ExtraQ01Time | \n", "ExtraQ02Time | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "2023-05-08 15:13:33 | \n", "1 | \n", "en | \n", "1428982518 | \n", "2023-05-08 15:02:53 | \n", "2023-05-08 15:13:33 | \n", "1 | \n", "this is a test | \n", "AO01 | \n", "... | \n", "837.45 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
| 1 | \n", "2 | \n", "2023-05-08 16:08:20 | \n", "1 | \n", "en | \n", "852861659 | \n", "2023-05-08 16:08:09 | \n", "2023-05-08 16:08:20 | \n", "2 | \n", "222 | \n", "AO03 | \n", "... | \n", "11.13 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
| 2 | \n", "3 | \n", "2023-05-08 16:09:06 | \n", "1 | \n", "en | \n", "632878730 | \n", "2023-05-08 16:08:46 | \n", "2023-05-08 16:09:06 | \n", "1 | \n", "222 | \n", "AO02 | \n", "... | \n", "19.89 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
3 rows × 27 columns
\n", "| \n", " | id | \n", "submitdate | \n", "lastpage | \n", "startlanguage | \n", "seed | \n", "startdate | \n", "datestamp | \n", "Q00 | \n", "Q01 | \n", "MainQ01 | \n", "MainQ01[comment] | \n", "MainQ02 | \n", "MainQ02[comment] | \n", "ExtraQ01 | \n", "ExtraQ01[comment] | \n", "ExtraQ02 | \n", "ExtraQ02[comment] | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 | \n", "2023-05-08 15:13:33 | \n", "1 | \n", "en | \n", "1428982518 | \n", "2023-05-08 15:02:53 | \n", "2023-05-08 15:13:33 | \n", "1 | \n", "this is a test | \n", "AO01 | \n", "None | \n", "AO02 | \n", "testing notes | \n", "AO03 | \n", "None | \n", "AO01 | \n", "None | \n", "
| 1 | \n", "2 | \n", "2023-05-08 16:08:20 | \n", "1 | \n", "en | \n", "852861659 | \n", "2023-05-08 16:08:09 | \n", "2023-05-08 16:08:20 | \n", "2 | \n", "222 | \n", "AO03 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "
| 2 | \n", "3 | \n", "2023-05-08 16:09:06 | \n", "1 | \n", "en | \n", "632878730 | \n", "2023-05-08 16:08:46 | \n", "2023-05-08 16:09:06 | \n", "1 | \n", "222 | \n", "AO02 | \n", "test | \n", "AO03 | \n", "None | \n", "AO04 | \n", "None | \n", "AO02 | \n", "None | \n", "