| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Python library to download data collected on SurveyCTO data collection app using SurveyCTO REST API.
pip install pysurveyctoSurveyCTOObject(server_name,
username,
password)Parameters:
get_form_data(form_id,
format='csv',
shape='wide',
oldest_completion_date=None,
review_status=None,
repeat_groups=None,
line_breaks=None,
key=False)Fetch SurveyCTO form data in json or csv formats.
Parameters:
Returns: Form data in json or csv (wide or long) format depending on the parameters
get_repeatgroup(form_id,
repeat_group_name,
review_status=None,
line_breaks=None)Fetch SurveyCTO form's repeat group data.
Parameters:
Returns: Repeat group data in csv format
get_server_dataset(dataset_id,
line_breaks=None)Fetch SurveyCTO server dataset data.
Parameters:
Returns: Server dataset data in csv format
get_attachment(url,
key=False)Fetch form's file attachments like media/audio/images from SurveyCTO.
Parameters:
Returns: The url content
get_form_definition(form_id)Fetch form's definition from SurveyCTO
Parameters:
Returns: The form definition in JSON format
get_deployed_form_version(form_id)Fetch version of deployed form from SurveyCTO
Parameters:
Returns: The form version as a string
list_forms()Fetch all form_id's available in your SurveyCTO server
Parameters:
Returns: list of dictionaries, each dictionary containing information for each form on server
import pysurveycto
scto = pysurveycto.SurveyCTOObject(server_name, username, password)Get a wide csv
scto.get_form_data(form_id)Get a long csv with all repeat groups (Returns a dictionary with repeat group names as keys and csv data for the repeat groups as values)
scto.get_form_data(form_id, shape='long')Get a long csv without repeat groups
scto.get_form_data(form_id, shape='long', repeat_groups=false)Get a wide csv with line breaks replaced with space with only pending-review submissions
scto.get_form_data(form_id, line_breaks=' ', review_status=['pending'])Get a wide json
scto.get_form_data(form_id, format='json')Get a wide json with forms completed after a given CompletionDate (inclusive)
date_input = datetime.datetime(2020, 1, 12, 13, 42, 42)
scto.get_form_data(form_id, format='json', oldest_completion_date=date_input)Get a wide json for encrypted form starting after a given CompletionDate (inclusive)
key_data = open('<path to keyfile>', 'rb')
scto.get_form_data(form_id, format='json', oldest_completion_date=my_datetime, key=key_data)Get a server dataset with line breaks replaced with space
scto.get_form_data(dataset_id, line_breaks=' ')Get a media file attachment and save to file
data = scto.get_attachment(url)
f = open(file_name, 'wb')
f.write(data)
f.close()Get form definition and save to excel file
data = scto.get_form_definition(form_id)
questions_df = pd.DataFrame(
data["fieldsRowsAndColumns"][1:],
columns=data["fieldsRowsAndColumns"][0],
)
choices_df = pd.DataFrame(
data["choicesRowsAndColumns"][1:],
columns=data["choicesRowsAndColumns"][0],
)
settings_df = pd.DataFrame(
data["settingsRowsAndColumns"][1:],
columns=data["settingsRowsAndColumns"][0],
)
writer = pd.ExcelWriter(file_name, engine="openpyxl")
questions_df.to_excel(writer, sheet_name="survey", index=False)
choices_df.to_excel(writer, sheet_name="choices", index=False)
settings_df.to_excel(writer, sheet_name="settings", index=False)
writer.save()Get form version
version = scto.get_deployed_form_version(form_id)| Back | FazBrowse Home | New Git URL |