Skip to main content

pypi actions codecov downloads

edc-pdutils

Use pandas with the Edc

Using the management command to export to CSV and STATA

The export_models management command requires you to log in with an account that has export permissions.

The basic command requires an app_label (-a) and a path to the export folder (-p)

By default, the export format is CSV but delimited using the pipe delimiter, |.

Export one or more modules

python manage.py export_models -a ambition_subject -p /ambition/export

The -a excepts more than one app_label

python manage.py export_models -a ambition_subject,ambition_prn,ambition_ae -p /ambition/export

Export data in CSV format or STATA format

To export as CSV where the delimiter is |

python manage.py export_models -a ambition_subject -p /ambition/export

To export as STATA dta use option -f stata

python manage.py export_models -a ambition_subject -p /ambition/export -f stata

Export encrypted data

To export encrypted fields include option --decrypt:

python manage.py export_models -a ambition_subject -p /ambition/export  --decrypt

Note: If using the --decrypt option, the user account will need PII_EXPORT permissions

Export with a simple file name

To export using a simpler filename that drops the tablename app_label prefix and does not include a datestamp suffix.

Add option --use_simple_filename.

python manage.py export_models -a ambition_subject -p /ambition/export  --use_simple_filename

Export for a country only

Add option --country.

python manage.py export_models -a ambition_subject -p /ambition/export  --country="uganda"

Export manually

To export Crf data, for example:

from edc_pdutils.df_exporters import CsvCrfTablesExporter
from edc_pdutils.df_handlers import CrfDfHandler

app_label = 'ambition_subject'
csv_path = '/Users/erikvw/Documents/ambition/export/'
date_format = '%Y-%m-%d'
sep = '|'
exclude_history_tables = True

class MyDfHandler(CrfDfHandler):
    visit_tbl = f'{app_label}_subjectvisit'
    exclude_columns = ['form_as_json', 'survival_status','last_alive_date',
                       'screening_age_in_years', 'registration_datetime',
                       'subject_type']

class MyCsvCrfTablesExporter(CsvCrfTablesExporter):
    visit_column = 'subject_visit_id'
    datetime_fields = ['randomization_datetime']
    df_handler_cls = MyDfHandler
    app_label = app_label
    export_folder = csv_path

sys.stdout.write('\n')
exporter = MyCsvCrfTablesExporter(
    export_folder=csv_path,
    exclude_history_tables=exclude_history_tables
)
exporter.to_csv(date_format=date_format, delimiter=sep)

To export INLINE data for any CRF configured with an inline, for example:

class MyDfHandler(CrfDfHandler):
    visit_tbl = 'ambition_subject_subjectvisit'
    exclude_columns = ['form_as_json', 'survival_status','last_alive_date',
                       'screening_age_in_years', 'registration_datetime',
                       'subject_type']


class MyCsvCrfInlineTablesExporter(CsvCrfInlineTablesExporter):
    visit_columns = ['subject_visit_id']
    df_handler_cls = MyDfHandler
    app_label = 'ambition_subject'
    export_folder = csv_path
    exclude_inline_tables = [
        'ambition_subject_radiology_abnormal_results_reason',
        'ambition_subject_radiology_cxr_type']
sys.stdout.write('\n')
exporter = MyCsvCrfInlineTablesExporter()
exporter.to_csv(date_format=date_format, delimiter=sep)

Settings

EXPORT_FILENAME_TIMESTAMP_FORMAT: True/False (Default: False)

By default a timestamp of the current date is added as a suffix to CSV export filenames.

By default a timestamp of format %Y%m%d%H%M%S is added.

EXPORT_FILENAME_TIMESTAMP_FORMAT may be set to an empty string or a valid format for strftime.

If EXPORT_FILENAME_TIMESTAMP_FORMAT is set to an empty string, “”, a suffix is not added.

For example:

# default
registered_subject_20190203112555.csv

# EXPORT_FILENAME_TIMESTAMP_FORMAT = "%Y%m%d"
registered_subject_20190203.csv

# EXPORT_FILENAME_TIMESTAMP_FORMAT = ""
registered_subject.csv

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edc_pdutils-1.0.2.tar.gz (59.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

edc_pdutils-1.0.2-py3-none-any.whl (77.4 kB view details)

Uploaded Python 3

File details

Details for the file edc_pdutils-1.0.2.tar.gz.

File metadata

  • Download URL: edc_pdutils-1.0.2.tar.gz
  • Upload date:
  • Size: 59.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for edc_pdutils-1.0.2.tar.gz
Algorithm Hash digest
SHA256 e6a343d42323e5daf690a95f3c1ab2e12cd2bdc79bab2e3f5fd3ab1c049cb7ed
MD5 f1a83d06ac9c5c6668ceaf774c14a8b1
BLAKE2b-256 f28475e25e17c2c15603a4a731cdfd01174bcd2ecdc2af5fb5ad6588104aa9a8

See more details on using hashes here.

File details

Details for the file edc_pdutils-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: edc_pdutils-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 77.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for edc_pdutils-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9d7470252968685dc54900822c42ab03af27be083791d024bda4667fdd318a63
MD5 737846c3b4fa5ae9d4bd0284f0a51b43
BLAKE2b-256 ff5935ccb5c93251279e9286cf6a1c1d02764d0c687cb14a5e8851f4a4115438

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page