{ "info": { "author": "Reshef Mann", "author_email": "reshef.mann@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "License :: OSI Approved :: MIT License" ], "description": "dictmapper\n=============\n\ndictmapper was created to help transforming a sequence of python dictionaries to tabular format and specifically to transform json documents to be exported in csv fromat.\n\nUsage\n------\n\nCreate a mapper: ::\n\n from dictmapper import Mapper, Mapping\n\n class UserMapper(Mapper):\n\n user_id = Mapping('user_id')\n email = Mapping('email')\n Name = Mapping(lambda u: '%s %s' % (u['first_name'], u['last_name']), name='User Name')\n nickname = Mapping('nickname', default='N/A')\n street = Mapping('address/street')\n city = Mapping('address/city')\n joined_at = Mapping('joined_at', transform=lambda d: d.strftime('%Y-%m-%d'))\n\nSample input: ::\n\n users_docs = [\n {\n 'user_id': '1000001',\n 'first_name': 'Test',\n 'last_name': 'User',\n 'email': 'user@test.com',\n 'address': {\n 'street': 'Example Road',\n 'city': 'Emerald City',\n },\n 'joined_at': datetime.now(),\n },\n {\n 'user_id': '1000002',\n 'first_name': 'Example',\n 'last_name': 'Member',\n 'nickname': 'exampy',\n 'email': 'example@member.com',\n 'address': {\n 'street': 'Sample Road',\n 'city': 'Emerald City',\n },\n 'joined_at': datetime.now(),\n }\n ]\n\nOutput: ::\n \n >>> mapper = UserMapper()\n >>> mapper.headers()\n ['User id', 'Email', 'Name', 'Nickname', 'Street', 'City', 'Joined at']\n >>> res = mapper.map(users_docs)\n >>> res\n [['1000001',\n 'user@test.com',\n 'Test User',\n 'N/A',\n 'Example Road',\n 'Emerald City',\n '2012-03-18'],\n ['1000002',\n 'example@member.com',\n 'Example Member',\n 'exampy',\n 'Sample Road',\n 'Emerald City',\n '2012-03-18']]\n\nExport to csv\n--------------\n\nI recommend using the excellent `tablib`_: ::\n\n import tablib\n data = tablib.Dataset(*res, headers=mapper.headers())\n data.csv\n\n\n.. _tablib : http://github.com/kennethreitz/tablib", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://reshefmann.com", "keywords": "json,csv,mapping,export,transform", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "dictmapper", "package_url": "https://pypi.org/project/dictmapper/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/dictmapper/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://reshefmann.com" }, "release_url": "https://pypi.org/project/dictmapper/0.1/", "requires_dist": null, "requires_python": null, "summary": "Maps hierarchical dictionaries to flat structures", "version": "0.1" }, "last_serial": 788947, "releases": { "0.1": [ { "comment_text": "built for Linux-3.0.0-16-generic-x86_64-with-glibc2.4", "digests": { "md5": "8e110cf9af80dd80e1bcc395cdd4e7b9", "sha256": "905cffc01412872591d3742e0901d93bb24eeb248a73f2a8cfd46fc337e06b88" }, "downloads": -1, "filename": "dictmapper-0.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "8e110cf9af80dd80e1bcc395cdd4e7b9", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 4321, "upload_time": "2012-03-19T09:45:14", "url": "https://files.pythonhosted.org/packages/df/f0/606c6b6195068b4ad0ca980c2081c291019439933660f641a6527fe01086/dictmapper-0.1.linux-x86_64.tar.gz" } ], "0.1dev": [ { "comment_text": "built for Linux-3.0.0-16-generic-x86_64-with-glibc2.4", "digests": { "md5": "ad313e281e3ec95381fb9f0a516652db", "sha256": "5b9a480b1a422d511f0532ebbcf22e483214abee07676bd87a3faa845c3536dd" }, "downloads": -1, "filename": "dictmapper-0.1dev.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "ad313e281e3ec95381fb9f0a516652db", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 4139, "upload_time": "2012-03-19T09:39:40", "url": "https://files.pythonhosted.org/packages/ea/e2/c2210ebe625d2c8fdfe33d7d0c2e18f71924e89b4d648185cee901a0cf3b/dictmapper-0.1dev.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "fa5a86d6bf300553d56473fe5b23e3b6", "sha256": "1e8d9ddfd7d7e95c6731f29254cea25e6ac9f982caa06530092e2bdea78ea3d1" }, "downloads": -1, "filename": "dictmapper-0.1dev-py2.7.egg", "has_sig": false, "md5_digest": "fa5a86d6bf300553d56473fe5b23e3b6", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5239, "upload_time": "2012-03-18T14:26:15", "url": "https://files.pythonhosted.org/packages/0a/96/3e9737f35ef329a37390d39856e260cb7b452031b6b05e2c96901cc7cc39/dictmapper-0.1dev-py2.7.egg" } ] }, "urls": [ { "comment_text": "built for Linux-3.0.0-16-generic-x86_64-with-glibc2.4", "digests": { "md5": "8e110cf9af80dd80e1bcc395cdd4e7b9", "sha256": "905cffc01412872591d3742e0901d93bb24eeb248a73f2a8cfd46fc337e06b88" }, "downloads": -1, "filename": "dictmapper-0.1.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "8e110cf9af80dd80e1bcc395cdd4e7b9", "packagetype": "bdist_dumb", "python_version": "any", "requires_python": null, "size": 4321, "upload_time": "2012-03-19T09:45:14", "url": "https://files.pythonhosted.org/packages/df/f0/606c6b6195068b4ad0ca980c2081c291019439933660f641a6527fe01086/dictmapper-0.1.linux-x86_64.tar.gz" } ] }