tablib | Python Module for Tabular Datasets | CSV Processing library

 by   jazzband Python Version: 3.6.1 License: MIT

kandi X-RAY | tablib Summary

kandi X-RAY | tablib Summary

tablib is a Python library typically used in Utilities, CSV Processing applications. tablib has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has high support. You can install using 'pip install tablib' or download it from GitHub, PyPI.

Tablib is a format-agnostic tabular dataset library, written in Python. Note that tablib purposefully excludes XML support. It always will. (Note: This is a joke. Pull requests are welcome.). Tablib documentation is graciously hosted on It is also available in the docs directory of the source distribution.

            kandi-support Support

              tablib has a highly active ecosystem.
              It has 4230 star(s) with 571 fork(s). There are 141 watchers for this library.
              There were 2 major release(s) in the last 6 months.
              There are 28 open issues and 213 have been closed. On average issues are closed in 124 days. There are 7 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of tablib is 3.6.1

            kandi-Quality Quality

              tablib has 0 bugs and 0 code smells.

            kandi-Security Security

              tablib has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              tablib code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              tablib is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              tablib releases are available to install and integrate.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              tablib saves you 1424 person hours of effort in developing the same functionality from scratch.
              It has 3250 lines of code, 375 functions and 35 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed tablib and discovered the below as its top functions. This is intended to give you an instant insight into tablib implemented functionality, and help decide if they suit your requirements.
            • Exports a dataset
            • Return the maximum length of a string
            • Compute the column widths for each column
            • Calculate the length of each column
            • Create a new dbf file from a dataset
            • Add field definition
            • Flush the contents to the file
            • Create a header object from a stream
            • Lookup the field for a given type code
            • Add fields to the record
            • Register a field
            • Export dataset to table
            • Create a Document from a Dbf
            • Export a single dataset
            • Encode the value
            • Create a FD from a string
            • Imports data from an Excel sheet
            • Load a file from a stream
            • Imports data from a workbook
            • Add fields to the record
            • Export a dataset
            • Set the rows from a dictionary
            • Register the builtins
            • Export datasheet to xlsx file
            • Add a field definition
            • Create a demo file
            • Load data from stream
            Get all kandi verified functions for this library.

            tablib Key Features

            No Key Features are available at this moment for tablib.

            tablib Examples and Code Snippets

            Parameter Balancing, v2.1
            Pythondot img1Lines of Code : 6dot img1License : Permissive (MIT)
            copy iconCopy
              sudo pip3 install pbalancing
            from pbalancing import parameter_balancing_core
            python3 -m pbalancing.parameter_balancing_core model.xml
            python3 -m pbalancing.parameter_balancing_cor  
            Pythondot img2Lines of Code : 0dot img2License : Permissive (ISC)
            copy iconCopy
            ☤ The Basics
            We know how to write SQL, so let's send some to our database:
            .. code:: python
                import records
                db = records.Database('postgres://...')
                rows = db.query('select * from active_users')    # or db.query_file('sqls/a  
            Data Export Functionality
            Pythondot img3Lines of Code : 0dot img3License : Permissive (ISC)
            copy iconCopy
            >>> print(rows.dataset)
            username|active|name      |user_email       |timezone
            model-t |True  |Henry Ford||2016-02-06 22:28:23.894202
            >>> pr  

            Community Discussions


            Docker Image > 1GB in size from python:3.8.3-alpine
            Asked 2021-Aug-05 at 12:47

            I'm pretty new to docker and, although I've read lots of articles, tutorials and watched YouTube videos, I'm still finding that my image size is in excess of 1 GB when the alpine image for Python is only about 25 MB (if I'm reading this correctly!).

            I'm trying to work out how to make it smaller (if in fact it needs to be).

            [Note: I've been following tutorials to create what I have below. Most of it makes sense .. but some of it feels like voodoo]

            Here is my Dockerfile:



            Answered 2021-Aug-05 at 01:39

            welcome to Docker! It can be quite the thing to wrap one's head around, especially when beginning, but you're asking really valid questions that are all pertinent

            Reducing Size How to

            A great place to start is Docker's own Dockerfile best practices page:


            They explain neatly how your each directve (COPY, RUN, ENV, etc) all create additional layers, increasing your containers size. Importantly, they show how to reduce your image size by minimising the different directives. They key to alot of minimisation is chaining commands in RUN statements with the use of &&.

            Something else I note in your Dockerfile is one specific line:



            Import data from a CSV file without id as column
            Asked 2021-Jul-07 at 10:08

            I would like to know if it's possible to import data but with a table that does not have a column named id

            My import are doing fine with every table that contained a column id but with the one that does not contained a column id it does not work. I got a row_error saying : Error: 'id'

            Model that can't be imported



            Answered 2021-Jul-07 at 10:08

            Django provide a import_id_fields so we can specify fields that we wants to import. Without it, it always look for a field ID.

            The solution was to emcapsulate my class with resources.ModelResource and specify import_id_fields.



            Servlet.service() for servlet [jsp] threw exception
            Asked 2021-Jun-20 at 11:38




            Answered 2021-Jun-20 at 11:35

            As already remarked in the comments, one of your dependencies (activiti-engine) has an alternative implementation of the EL Specification: JUEL.

            This is, in my opinion, an error in activiti-engine's POM: the project should not depend on a specific EL implementation, just the EL API.

            You can correct it by explicitly excluding the JUEL dependencies from your project:



            django admin site nav sidebar messed up
            Asked 2021-Jun-05 at 07:27

            I recently added a package to my project and did a pip freeze > requirements.txt afterwards. I then did pip install -r requirements.txt to my local and it added a sidebar.

            I did a pip install -r requirements.txt to the server as well and it produced a different result. It's sidebar was messed up.

            I tried removing the sidebar by doing this answer but it did not get removed.



            Answered 2021-May-31 at 03:01

            First of all, this navbar is added by Django 3.1+ and not by any other 3rd part packages.

            Copy & Pasting from Django 3.X admin showing all models in a new navbar,

            From the django-3.1 release notes,

            The admin now has a sidebar on larger screens for easier navigation. It is enabled by default but can be disabled by using a custom AdminSite and setting AdminSite.enable_nav_sidebar to False.

            So, this is a feature that added in Django 3.1 and can be removed by settings AdminSite.enable_nav_sidebar = False (see How to customize AdminSite class)

            How to fix irregular styling?

            You don't have to edit any CSS or HTML file to fix the styling, because Django comes with a new set of CSS and HTML, which usually fix the issue. (That is, it is not recommended to alter the styling file only for this)

            If that doesn't work for you, it might be because of your browser cache.

            If you are using Chrome,

            1. Go to the admin page
            2. Ctrl + Shift + i and select Network tab and then tick Disable Cache
            3. Refresh the page



            How to correctly install PyICU on Heroku?
            Asked 2021-May-28 at 00:31

            I am trying to deploy my Python app on Heroku, but have been unsuccessful. It seems that a problem is occurring with the PyICU package, which I'm unsure how to correct. I've confirmed that this is the only issue with my deployment; when I remove PyICU from my requirements file, everything works. But of course my site can't work without it.

            Can anyone please guide me in how to correctly install this package on Heroku? I've tried various methods, including downloading the .whl file and then adding that to my requirements file, but then I get another error:

            ERROR: PyICU-2.7.3-cp38-cp38m-win_amd64.whl is not a supported wheel on this platform. I don't understand why - it's the correct Python and os version.

            Here are the relevant excerpts from the build log:



            Answered 2021-May-26 at 15:55

            Why are you using the windows wheel (PyICU-2.7.3-cp38-cp38m-win_amd64.whl)? You probably need a manylinux wheel.

            You can also try pyicu-binary package.



            data isn't importing in mysqldb using django import export
            Asked 2021-Apr-06 at 14:10

            I am new in Django. I am trying to use Django import-export to import excel sheet into MySQL dB table. I followed the documentation on import. while trying to Test the data import it gives error.

            Here are my views:



            Answered 2021-Apr-05 at 11:35

            Please can you run again with raise_errors=True and post back with the error message. You can call change your code as follows.



            Exporting the filtered data from a django table
            Asked 2021-Mar-22 at 18:26

            I am using django-filter and django-import-export. I can build an HTML table and filter it using django-filter just fine, but I want the user to be able to export the filtered table, not the whole table. (That is, this is not through the admin feature.)

            I suspect the issue is I have one view for the list itself, but the export is in another view, and I can't seem to pass the filtered queryset to the export view, and I can't figure out how to do the export and filter on the same view. They're both GET requests. I feel like I'm missing something very very basic here.

            In my app/



            Answered 2021-Mar-19 at 09:32

            I think this line looks incorrect:



            Docker : error while performing "RUN pip install --no-cache /wheels/*" command
            Asked 2021-Jan-29 at 11:47

            I am trying to Dockerizing Django with Postgres, Gunicorn, and Nginx via the tutorial on


            I am was getting an error while docker is in step 7 i.e,

            Step 7/23 : RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels -r requirements.txt

            I was able to update the to conquer this error, but i am getting another error in step 21

            Step 21/26 : RUN pip install --no-cache /wheels/*

            This is my updated



            Answered 2021-Jan-29 at 11:47

            Thanks to @DawidGacek advice, I have added the dependencies for both the containers, and now it works fine. This is the final working [Note: I have just commented out the flake8 lint checker, If you need the same just uncomment it]



            django how to filter import_export file
            Asked 2020-Nov-10 at 02:20

            How do i filter the CustomerSectionResource models? in my case all data save in the database export in the excel, I just want to select certain data to export in excel. i want to filter just like this




            Answered 2020-Nov-09 at 12:16
            from tablib import Dataset
            from .resources import FmCustomerSectionResource
            def import_Section(request):
                if request.method == 'POST':
                    file_format = request.POST['file-format']
                    company = FmCustomerUsers.objects.filter(
                    product = FmCustomerSection.objects.filter(
                    product_resource = FmCustomerSectionResource()
                    dataset = product_resource .exclude(product)
                    new_city = request.FILES['importData']
                    if file_format == 'XLS':
                        imported_data = dataset.load(, format='xls')
                        result = product_resource.import_data(dataset, dry_run=True)
                    elif file_format == 'CSV':
                        imported_data = dataset.load(, format='csv')
                        # Testing data import
                        result = product_resource.import_data(dataset, dry_run=True)
                    if not result.has_errors():
                        # Import now
                        product_resource.import_data(dataset, dry_run=False)
                return redirect('Section')
            def export_Section(request):
                if request.method == 'POST':
                    # Get selected option from form
                    file_format = request.POST['importData']
                    product_resource = FmCustomerSectionResource()
                    dataset = product_resource.export()
                    if file_format == 'CSV':
                        response = HttpResponse(dataset.csv, content_type='text/csv')
                        response['Content-Disposition'] = 'attachment; filename="exported_data.csv"'
                        return response
                    elif file_format == 'XLS':
                        response = HttpResponse(dataset.xls, content_type='application/xls')
                        response['Content-Disposition'] = 'attachment; filename="exported_data.xls"'
                        return response
                return redirect('Section')



            Import csv file in drf
            Asked 2020-Oct-23 at 18:54

            I'm trying to create a view to import a csv using drf and django-import-export.

            My example (I'm doing baby steps and debugging to learn):



            Answered 2020-Oct-23 at 18:54

            Starting with baby steps is a great idea. I would suggest get a standalone script working first so that you can check the file can be read and imported.

            If you can set breakpoints and step into the django-import-export source, this will save you a lot of time in understanding what's going on.

            A sample test function (based on the example app):


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install tablib

            You can install using 'pip install tablib' or download it from GitHub, PyPI.
            You can use tablib like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.


            Please see the contributing guide.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • PyPI

            pip install tablib

          • CLONE
          • HTTPS


          • CLI

            gh repo clone jazzband/tablib

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link