TabLib: Pythonic Tabular Data Library
thechangelog.com
thechangelog.com
However, just some comments on the (lack of) Pythonicity in this function:
def is_string(obj):
"""Tests if an object is a string"""
return True if type(obj).__name__ == 'str' else False
First, you don't need the "True if ... else False", because == is already a boolean operator which returns True or False.Also, you don't need to look at the type's __name__. You can just say:
type(obj) == str
But Python already has an isinstance() function which will also work properly with subclasses of str, so suddenly you don't need the is_string() helper function anymore, and it becomes: isinstance(obj, str)
(Though you should probably use "basestring" in Python 2.x so it works with Unicode keys too.)