Utility to ease reading data from tabular data files
Project description
Tab Import is a Python utility to ease imports of tabular data from CSV, ODF, XLS or XLSX files.
Some formats require an external Python library:
ODF: ooolib
XLS/XLSX: xlrd
This library is meant to be used inside a Django project context.
Usage:
#!/usr/bin/env python import tabimport smart_file = tabimport.FileFactory(file_path) for data_line in smart_file: do_something_with(data_line['header'])
Import helper
To use the Django import helper in your Django project, follow the steps below.
Add ‘tabimport’ into your INSTALLED_APPS setting.
Include the urls of tabimport into your urls:
path('data-import/', include('tabimport.urls')),In any of your models for which you’d like to enable data import, set a class variable like this: support_tabimport = True.
You can then link to the tabimport utility from one of your templates by reversing a url with tabimport:
<a href="{% url 'tabimport' %}">Import utility</a>
Alternatively, your models can include a class method which will receive the imported data as a dictionary just before they are used to create a new instance. This allows you to handle special cases in imported data:
@classmethod def prepare_import(cls, values): return values
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file TabImport-0.5.1.tar.gz
.
File metadata
- Download URL: TabImport-0.5.1.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a3e7e1003a937e21b19881e42f2d5548bdcf81937f2dbc4d3b9e0868d20db23 |
|
MD5 | 3755c7283f7e7c12da17ff2f06afda2b |
|
BLAKE2b-256 | d3cc531b87b9d940e7a60add055c6e6001c433c1e8e9e993c2f602e2802c4472 |