{ "info": { "author": "alingse", "author_email": "alingse@foxmail.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "\njsoncsv : easily convert json to csv or xls[x]\n==============================================\n\n.. image:: https://img.shields.io/pypi/v/jsoncsv.svg\n :target: https://pypi.python.org/pypi/jsoncsv\n\n.. image:: https://api.travis-ci.org/alingse/jsoncsv.svg?branch=master\n\n.. image:: https://coveralls.io/repos/github/alingse/jsoncsv/badge.svg\n :target: https://coveralls.io/github/alingse/jsoncsv\n\n\njsoncsv (with `mkexcel`) is a command tool to convert json file to csv/xlsx file.\n\nIt's simple, and no need user to specify the keys.\n\nJust use them.\n\nQuick Start :\n=================\n\ncat the raw.json to csv/xls use command line tool\n\n.. code-block:: bash\n\n cat raw.json| jsoncsv | mkexcel > output.csv\n cat raw.json| jsoncsv | mkexcel -t xls > output.xls\n\nmake sure each line of raw json text file is a json object\n\n.. code-block:: bash\n\n $cat raw.json\n {\"id\":1, \"name\":\"A\", \"year\": 2015}\n {\"id\":2, \"name\":\"S\", \"zone\": \"china\"}\n $cat raw.json | jsoncsv | mkexcel > output.csv\n $cat output.csv\n id,name,year,zone\n 1,A,2015,\n 2,S,,china\n\nThis is easily and needn't care the different keys from any two object.\n\nif input file is an json_array, use `-A/--array` to decode it\n\n.. code-block:: bash\n\n $cat raw.json\n [{\"id\":1, \"name\":\"A\", \"year\": 2015}, {\"id\":2, \"name\":\"S\", \"zone\": \"china\"}]\n $cat raw.json | jsoncsv -A | mkexcel > output.csv\n $cat output.csv\n id,name,year,zone\n 1,A,2015,\n 2,S,,china\n\nanother way to convert file step by step\n\n.. code-block:: bash\n\n $jsoncsv raw.json expand.json\n $mkexcel expand.json -t xls output.xls\n\nget more options with `--help`.\n\n.. code-block:: bash\n\n jsoncsv --help\n mkexcel --help\n\nInstall\n================\n\n.. code-block:: bash\n\n pip install jsoncsv\n\n\nUsage\n=================\n\nsee #QuickStart and get more options with `--help`.\n\njust expand/restore the json, the expand json is one layer json.\n\n.. code-block:: bash\n\n jsoncsv raw.json expand.json\n jsoncsv -r expand.json raw.json\n cat raw.json|jsoncsv |jsoncsv -r > raw2.json\n\nmkexcel the expanded json (one layer)\n\n.. code-block:: bash\n\n mkexcel expand.json output.csv\n mkexcel -t xls expand.json > output.xls\n mkexcel -t csv expand.json > output.csv\n\n-e, --expand\n-------------\n\nexpand json, \u5c55\u5f00 json\n\n.. code-block:: bash\n\n jsoncsv -e raw.json expand.json\n cat raw.json expand.json\n {\"s\":[1,2,{\"w\":1}]}\n {\"s.2.w\": 1,\"s.0\": 1,\"s.1\": 2}\n\n\n{\"s\":[1,2,{\"w\":1}]} transformed to {\"s.2.w\": 1,\"s.0\": 1,\"s.1\": 2}\n\nexpand.json is only one layer json, it can be easy change to csv or xlsx\n\n-r,--restore\n---------------\nrestore the expanded json \u91cd\u6784\u88ab\u5c55\u5f00\u7684json\n\n.. code-block:: bash\n\n jsoncsv -r expand.json raw.json\n cat expand.json raw.json\n {\"s.2.w\": 1,\"s.0\": 1,\"s.1\": 2}\n {\"s\": [1, 2, {\"w\": 1}]}\n\n{\"s.2.w\": 1,\"s.0\": 1,\"s.1\": 2} change to {\"s\":[1,2,{\"w\":1}]}\n\n-s,--separator\n---------------\n\nseparator used for combine the keys in the tree\n\ndefault separator is **.**\n\n--safe\n---------\non safe mode, use escape separator to avoid confilct\n\nexpand:\n\n['aa', 'bb', 'www.xxx.com'] --> 'aa\\\\.bb\\\\.www.xxx.com'\n\nrestore:\n\n'aa\\\\.bb\\\\.www.xxx.com' --> ['aa', 'bb', 'www.xxx.com']\n\n\nmkexcel\n>>>>>>>>>>>\n\ndump expanded (by **jsoncsv**) json file to csv or xls file\n\n.. code-block:: bash\n\n mkexcel expand.json output.csv\n\n-t,--type\n--------------\n\nchose dump type in ['csv', 'xls'] default is 'csv'\n\n.. code-block:: bash\n\n cat expand.json|mkexcel -t csv > output.csv\n cat expand.json|mkexcel -t xls > output.xls\n\n\nNOTE/TODO\n>>>>>>>>>\n\n1. dict keys can't be just array indexes\n--------------------------------------------\n\nexample:\n\n.. code-block:: bash\n\n\techo '{\"0\":1,\"1\":[1,2]}'|jsoncsv -e| jsoncsv -r\n\t[1, [1, 2]]\n\n\n2. mkexcel enable hooks\n-----------------------------------------\n\nwait next next version\n\n\n3. unicodecsv is not good enough\n-----------------------------------------\n\nbut better than python strand library csv.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alingse/jsoncsv", "keywords": "jsontocsv,json2csv,jsoncsv,command,convert,json,csv,xls", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "jsoncsv", "package_url": "https://pypi.org/project/jsoncsv/", "platform": "", "project_url": "https://pypi.org/project/jsoncsv/", "project_urls": { "Homepage": "https://github.com/alingse/jsoncsv" }, "release_url": "https://pypi.org/project/jsoncsv/2.2.2/", "requires_dist": [ "unicodecsv", "xlwt", "click" ], "requires_python": "", "summary": "A command tool easily convert json file to csv or xlsx.", "version": "2.2.2" }, "last_serial": 5880788, "releases": { "2.0.1": [ { "comment_text": "", "digests": { "md5": "6189e6fe71d9d1eda234b332dfcbbe2c", "sha256": "96d2d923e14f18974befc67120dfdd98f2708ccb0838931f1a7cba5c37b82a87" }, "downloads": -1, "filename": "jsoncsv-2.0.1-py2.7.egg", "has_sig": false, "md5_digest": "6189e6fe71d9d1eda234b332dfcbbe2c", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 9822, "upload_time": "2016-11-12T19:15:33", "url": "https://files.pythonhosted.org/packages/09/81/90c00756dbbd1de9251f894187056a0b15ac5e921e8d0ad9cf7a0a009215/jsoncsv-2.0.1-py2.7.egg" } ], "2.0.2": [], "2.0.3": [ { "comment_text": "", "digests": { "md5": "b80956c6093fe36096126474307b707d", "sha256": "e8ecec3aaaba181f5c0f342ea31c264cbf918f87113871f01cfa6540939e28f9" }, "downloads": -1, "filename": "jsoncsv-2.0.3.tar.gz", "has_sig": false, "md5_digest": "b80956c6093fe36096126474307b707d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4903, "upload_time": "2016-11-13T05:03:55", "url": "https://files.pythonhosted.org/packages/bb/cf/9ab8dc9aae0ae46eb51451e808b6cf0d564417123ef4bb34cc3f47db4912/jsoncsv-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "e624d2535e827e82ad6d566925a5b94a", "sha256": "db3bd1cce910e9f7a4d84eb3688552dc16057fc5354d4760aa7823927f6cc1ec" }, "downloads": -1, "filename": "jsoncsv-2.0.4.tar.gz", "has_sig": false, "md5_digest": "e624d2535e827e82ad6d566925a5b94a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5324, "upload_time": "2016-11-20T15:56:21", "url": "https://files.pythonhosted.org/packages/52/34/53e1eef82852aa54605a59455055f5c30e711fad0ce6b20f52f48f340e8e/jsoncsv-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "412fdbdd07b10d7de2a11a1db646f4d9", "sha256": "4f7c3773c6d008fa7eac8cd3e6b3ff5c378245f6c4fc76310dbc9fc53f28f96c" }, "downloads": -1, "filename": "jsoncsv-2.0.5.tar.gz", "has_sig": false, "md5_digest": "412fdbdd07b10d7de2a11a1db646f4d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5542, "upload_time": "2016-11-25T17:15:09", "url": "https://files.pythonhosted.org/packages/c7/cb/77cd40b2e4d0fcd2a3bb109e2ff1a2051a35c2170775b9fce9dd0c9301be/jsoncsv-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "175bf549f02e378343d7df8689d565f4", "sha256": "1d43d8180e9c77cc9b6044f47adedc5dfa649532a4c8a7236c0e237f6b403e44" }, "downloads": -1, "filename": "jsoncsv-2.0.6.tar.gz", "has_sig": false, "md5_digest": "175bf549f02e378343d7df8689d565f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5347, "upload_time": "2017-03-05T14:23:39", "url": "https://files.pythonhosted.org/packages/12/94/96a907ce0d7f97d4dc32db09027525b82b0f2fe8ad2f3387c809998e48d0/jsoncsv-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "4a516d073231b86f56d9405e5f2710c0", "sha256": "3689ec0af68a74d71b8d357a433cccaa85184d871494a62a0e9dc685f80a9b44" }, "downloads": -1, "filename": "jsoncsv-2.0.7.tar.gz", "has_sig": false, "md5_digest": "4a516d073231b86f56d9405e5f2710c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5881, "upload_time": "2018-03-30T15:47:09", "url": "https://files.pythonhosted.org/packages/a1/31/eb4c78c2f9a57ac29ff62b12a3c7a5cb48b762b7c0362b6c4a152b721d7c/jsoncsv-2.0.7.tar.gz" } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "f56c50bb0bdfde8eda66ed8beed71078", "sha256": "46db28a8479eedccb881630794298b84a715d11fd5a7d0a0c0d668dd1f87e6fc" }, "downloads": -1, "filename": "jsoncsv-2.0.8.tar.gz", "has_sig": false, "md5_digest": "f56c50bb0bdfde8eda66ed8beed71078", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6245, "upload_time": "2018-05-04T15:26:18", "url": "https://files.pythonhosted.org/packages/c0/e3/67e39e286a9077bc63af26d226980ef89583c80b67010d446116cbded504/jsoncsv-2.0.8.tar.gz" } ], "2.0.8a0": [ { "comment_text": "", "digests": { "md5": "f87810e81965981f0a1c15a3b1f83873", "sha256": "ecc96af74ec7a113736aa091a2e0fcbf9c9ac45dc21c1025f69d8de170a77a81" }, "downloads": -1, "filename": "jsoncsv-2.0.8a0.tar.gz", "has_sig": false, "md5_digest": "f87810e81965981f0a1c15a3b1f83873", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6076, "upload_time": "2018-04-10T14:03:37", "url": "https://files.pythonhosted.org/packages/9e/e6/892a707a3161189b68d23904efe72f84334ec4461aa2c31a75bb689674de/jsoncsv-2.0.8a0.tar.gz" } ], "2.0.8b0": [ { "comment_text": "", "digests": { "md5": "56053476b923076766d71b54da64878b", "sha256": "e191014b56becf08f4f6df3132faccc270b082f0c3c9e9396510b49070d7933c" }, "downloads": -1, "filename": "jsoncsv-2.0.8b0.tar.gz", "has_sig": false, "md5_digest": "56053476b923076766d71b54da64878b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6096, "upload_time": "2018-05-03T16:34:18", "url": "https://files.pythonhosted.org/packages/9c/9f/38cc1cf51ad6154dd2f95ea4cebe1016f7dde8cdefb65473c3b0edc58696/jsoncsv-2.0.8b0.tar.gz" } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "144b2594d109873b6ece1ddf8d0681b1", "sha256": "5cb0dbe95e91a03aed01f98b74c8f7e8ac2aabd7b1a8f8cccac0eed7d3037448" }, "downloads": -1, "filename": "jsoncsv-2.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "144b2594d109873b6ece1ddf8d0681b1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6337, "upload_time": "2018-05-26T09:09:52", "url": "https://files.pythonhosted.org/packages/1b/64/a9a6d6011299e94cb17d253627de96ab9e70b651d37dd522454e40f49b44/jsoncsv-2.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0d916e262617938050eba73d33c5937", "sha256": "2d11bcbf637b622522f3b38e0d5fc90c5550c77b797d471d86d791576b864981" }, "downloads": -1, "filename": "jsoncsv-2.0.9.tar.gz", "has_sig": false, "md5_digest": "f0d916e262617938050eba73d33c5937", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6462, "upload_time": "2018-05-26T06:11:52", "url": "https://files.pythonhosted.org/packages/7e/e3/d51e5067ee8929446075f366d1880457da7e20993834cfc0f886fa69d624/jsoncsv-2.0.9.tar.gz" } ], "2.0.9.dev0": [ { "comment_text": "", "digests": { "md5": "5cb127ca0ebafbbc3c25802a7b408849", "sha256": "c2f46385dddd5d581d494db035e38d1999e3a259a688bf63059eb00e9baae048" }, "downloads": -1, "filename": "jsoncsv-2.0.9.dev0.tar.gz", "has_sig": false, "md5_digest": "5cb127ca0ebafbbc3c25802a7b408849", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6081, "upload_time": "2018-05-26T06:01:15", "url": "https://files.pythonhosted.org/packages/82/76/55b671312a2078c5d282dee46795bf8a8ebc75d45dc71ab3cd5a589311f3/jsoncsv-2.0.9.dev0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "aac0c2e30dbd7ebf62f01c4a1e3eb5ee", "sha256": "2c08efdae481eaa16e5a0a0c7f2254e8f4242c7498332ef9794ada7597d46339" }, "downloads": -1, "filename": "jsoncsv-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aac0c2e30dbd7ebf62f01c4a1e3eb5ee", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6496, "upload_time": "2019-06-12T16:21:37", "url": "https://files.pythonhosted.org/packages/d5/77/36cb2e499a845211aa71f1f76c1a413d3bdb63b33043cc7ef5194668ee08/jsoncsv-2.1.0-py2.py3-none-any.whl" } ], "2.1.0b0": [ { "comment_text": "", "digests": { "md5": "3b044cac6edd74d5202af32421a90ac4", "sha256": "aad565f8b0b1bc0278c118af71ab6b613025242d57eb5c21fae6fffa4aa88625" }, "downloads": -1, "filename": "jsoncsv-2.1.0b0-py2-none-any.whl", "has_sig": false, "md5_digest": "3b044cac6edd74d5202af32421a90ac4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 6515, "upload_time": "2019-06-12T16:06:08", "url": "https://files.pythonhosted.org/packages/4a/d0/32ce1294c0fc779da1b540c47e7f802165792ba90c6b51d5b0db7a68e51a/jsoncsv-2.1.0b0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1b1157a87854ef256234c8a88e809b39", "sha256": "564170aac1cc274c57afcf656e0bf309826121ff537c3050825cd06447b23bef" }, "downloads": -1, "filename": "jsoncsv-2.1.0b0.tar.gz", "has_sig": false, "md5_digest": "1b1157a87854ef256234c8a88e809b39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6917, "upload_time": "2019-06-12T16:06:43", "url": "https://files.pythonhosted.org/packages/3d/13/a17b4c2fffbf049726d8d096abe43c77f9211a63e2e0221988ce3e27d727/jsoncsv-2.1.0b0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "ef1d7dfa86a7630174a6bac063edd607", "sha256": "89c6e703aecc05187acf18a070cda64c648101238138c2d6bfe117892faaaaca" }, "downloads": -1, "filename": "jsoncsv-2.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef1d7dfa86a7630174a6bac063edd607", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10930, "upload_time": "2019-07-15T13:53:03", "url": "https://files.pythonhosted.org/packages/e5/6d/17cd5fe7d768ecdd600e5a87fff44c172df9768c34393f233a8e17f7f2a1/jsoncsv-2.2.0-py2.py3-none-any.whl" } ], "2.2.0b0": [ { "comment_text": "", "digests": { "md5": "53fa17dfb81a2a8e4641b220ac7f7f95", "sha256": "f69bfcfe5039f5a1fdfb6fa3320c0177ee0800ab4a0e835e825146f46a1f645e" }, "downloads": -1, "filename": "jsoncsv-2.2.0b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53fa17dfb81a2a8e4641b220ac7f7f95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10961, "upload_time": "2019-07-15T13:44:22", "url": "https://files.pythonhosted.org/packages/0a/11/179f3729a6e3b06dbd5c5a296504e9f7cf6ace3fc9e9140c496570b01309/jsoncsv-2.2.0b0-py2.py3-none-any.whl" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "15975a06fb2073ce231b486a3658992a", "sha256": "88c8841ed9d041eba11c54c05de98a04f7ae4103420919486def430248fc3619" }, "downloads": -1, "filename": "jsoncsv-2.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "15975a06fb2073ce231b486a3658992a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6677, "upload_time": "2019-09-24T14:31:45", "url": "https://files.pythonhosted.org/packages/df/8f/7e4e8f61220f6146faee8a4cc9a9d2921c90c36bd047001a556a60b7562a/jsoncsv-2.2.1-py2.py3-none-any.whl" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "03046b9c6379a3b20f88023129a1e1a0", "sha256": "d426247ea2ac0e53a330640aac78834772b6020c8ddaec83dc5626c5f9a478d2" }, "downloads": -1, "filename": "jsoncsv-2.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03046b9c6379a3b20f88023129a1e1a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6910, "upload_time": "2019-09-24T16:21:43", "url": "https://files.pythonhosted.org/packages/fe/f0/59305a67a35d55327d46b324c9620d35659d2cbf06a11406b283759fceee/jsoncsv-2.2.2-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03046b9c6379a3b20f88023129a1e1a0", "sha256": "d426247ea2ac0e53a330640aac78834772b6020c8ddaec83dc5626c5f9a478d2" }, "downloads": -1, "filename": "jsoncsv-2.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "03046b9c6379a3b20f88023129a1e1a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6910, "upload_time": "2019-09-24T16:21:43", "url": "https://files.pythonhosted.org/packages/fe/f0/59305a67a35d55327d46b324c9620d35659d2cbf06a11406b283759fceee/jsoncsv-2.2.2-py2.py3-none-any.whl" } ] }