xlparser


Namexlparser JSON
Version 0.5.12 PyPI version JSON
download
home_pagehttp://github.com/ahuigo/xlparser
Summaryxlparser cli/lib for xlsx, json, csv...
upload_time2023-06-28 08:28:18
maintainer
docs_urlNone
authorahuigo
requires_python>=3.6.1
licenseMIT
keywords xlparser xlsx csv json
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            - [xlparser](#xlparser)
  - [安装](#安装)
  - [使用](#使用)
    - [命令行示例](#命令行示例)
    - [python 调用示例](#python-调用示例)
    - [转任何类型的文件](#转任何类型的文件)
    - [保存任何类型的文件](#保存任何类型的文件)
    - [Csv 文件处理](#csv-文件处理)
    - [Zip 文件处理](#zip-文件处理)
  - [Required](#required)

[English](README.en.md)

# xlparser
将 excel(xlsx/xls/csv) 转到其他的格式(csv, xlsx, json).

> Warning: 如果你遇到问题,最好在issue 提交明确的报错信息。

[![](https://img.shields.io/pypi/pyversions/xlparser.svg?longCache=True)](https://pypi.org/pypi/xlparser/)
[![](https://img.shields.io/pypi/v/xlparser.svg?maxAge=36000)](https://pypi.org/pypi/xlparser/)

## 安装

    pip install xlparser

如果想过滤字段,结合[xcut](https://github.com/ahuigo/xcut) 使用更方便

    pip install xcut

## 使用

    $ xlparser -h
    xlparser [options] INFILE [OUTFILE]\n
        options:\n
            -h       For help.\n

### 命令行示例
将 xlsx 转成 csv

    $ xlparser source.xlsx new.csv 

将 csv 转成 xlsx

    $ xlparser source.csv new.xlsx 

将 csv 转成 json

    $ xlparser source.csv new.json

将 xlsx 转成 csv(标准输出)

    $ xlparser source.xlsx | head 

    $ xlparser src.xlsx | tee test.csv
    name, score
    "李雷,韩梅",15
    小花,16

xcut 命令结合

    $ xlparser src.xlsx | xcut --from-csv -f name 
    name
    "李雷,韩梅"
    小花

    $ xlparser src.xlsx | xcut --from-csv -f score,name
    score,name
    15,"李雷,韩梅"
    16,小花

### python 调用示例

#### 转任何类型的文件
`parse` any type of file to rows:

    >>> from xlparser import parse, saveCsv
    >>> rows = parse('some.xlsx')
    >>> list(rows)
    [['foo', 'bar'], ['看', '我', '变']]

The `parse` function supports the following file formats: .csv, .xls, .xlsx .

#### 保存任何类型的文件
Save rows to csv

    >>> from xlparser import parse, saveCsv
    >>> rows = [['foo', 'bar'], ['看', '我', '变']]
    >>> saveCsv(rows, 'test.csv')

Save rows to xlsx

    >>> saveXlsx(rows, 'test.xlsx')

#### Csv 文件处理

    >>> from xlparser import *

    >>> rows = [('foo','bar'), ('看','我','变')]
    >>> saveCsv(rows, 'test.csv')

    >>> list(parseCsv('test.csv'))
    [['foo', 'bar'], ['看', '我', '变']]

#### Zip 文件处理

    >>> from xlparser import loadZip
    >>> zf = loadZip('test.xlsx')
    >>> print(zf.filelist)
    ......
    >>> zf.extract('xl/media/image1.png', '/tmp')
    >>> os.rename('/tmp/'+'xl/media/image1.png', './image1.png')

### Required
1. python>=3.5
2. xlrd: required by xls
2. openpyxl>=2.5.4: required by xlsx

            

Raw data

            {
    "_id": null,
    "home_page": "http://github.com/ahuigo/xlparser",
    "name": "xlparser",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6.1",
    "maintainer_email": "",
    "keywords": "xlparser,xlsx,csv,json",
    "author": "ahuigo",
    "author_email": "ahui132@qq.com",
    "download_url": "https://files.pythonhosted.org/packages/40/4f/c42833d415300597d43006ff9c8a262e17d521dcb7be5437f8daec24840e/xlparser-0.5.12.tar.gz",
    "platform": null,
    "description": "- [xlparser](#xlparser)\n  - [\u5b89\u88c5](#\u5b89\u88c5)\n  - [\u4f7f\u7528](#\u4f7f\u7528)\n    - [\u547d\u4ee4\u884c\u793a\u4f8b](#\u547d\u4ee4\u884c\u793a\u4f8b)\n    - [python \u8c03\u7528\u793a\u4f8b](#python-\u8c03\u7528\u793a\u4f8b)\n    - [\u8f6c\u4efb\u4f55\u7c7b\u578b\u7684\u6587\u4ef6](#\u8f6c\u4efb\u4f55\u7c7b\u578b\u7684\u6587\u4ef6)\n    - [\u4fdd\u5b58\u4efb\u4f55\u7c7b\u578b\u7684\u6587\u4ef6](#\u4fdd\u5b58\u4efb\u4f55\u7c7b\u578b\u7684\u6587\u4ef6)\n    - [Csv \u6587\u4ef6\u5904\u7406](#csv-\u6587\u4ef6\u5904\u7406)\n    - [Zip \u6587\u4ef6\u5904\u7406](#zip-\u6587\u4ef6\u5904\u7406)\n  - [Required](#required)\n\n[English](README.en.md)\n\n# xlparser\n\u5c06 excel(xlsx/xls/csv) \u8f6c\u5230\u5176\u4ed6\u7684\u683c\u5f0f(csv, xlsx, json).\n\n> Warning: \u5982\u679c\u4f60\u9047\u5230\u95ee\u9898\uff0c\u6700\u597d\u5728issue \u63d0\u4ea4\u660e\u786e\u7684\u62a5\u9519\u4fe1\u606f\u3002\n\n[![](https://img.shields.io/pypi/pyversions/xlparser.svg?longCache=True)](https://pypi.org/pypi/xlparser/)\n[![](https://img.shields.io/pypi/v/xlparser.svg?maxAge=36000)](https://pypi.org/pypi/xlparser/)\n\n## \u5b89\u88c5\n\n    pip install xlparser\n\n\u5982\u679c\u60f3\u8fc7\u6ee4\u5b57\u6bb5\uff0c\u7ed3\u5408[xcut](https://github.com/ahuigo/xcut) \u4f7f\u7528\u66f4\u65b9\u4fbf\n\n    pip install xcut\n\n## \u4f7f\u7528\n\n    $ xlparser -h\n    xlparser [options] INFILE [OUTFILE]\\n\n        options:\\n\n            -h       For help.\\n\n\n### \u547d\u4ee4\u884c\u793a\u4f8b\n\u5c06 xlsx \u8f6c\u6210 csv\n\n    $ xlparser source.xlsx new.csv \n\n\u5c06 csv \u8f6c\u6210 xlsx\n\n    $ xlparser source.csv new.xlsx \n\n\u5c06 csv \u8f6c\u6210 json\n\n    $ xlparser source.csv new.json\n\n\u5c06 xlsx \u8f6c\u6210 csv(\u6807\u51c6\u8f93\u51fa)\n\n    $ xlparser source.xlsx | head \n\n    $ xlparser src.xlsx | tee test.csv\n    name, score\n    \"\u674e\u96f7,\u97e9\u6885\",15\n    \u5c0f\u82b1,16\n\nxcut \u547d\u4ee4\u7ed3\u5408\n\n    $ xlparser src.xlsx | xcut --from-csv -f name \n    name\n    \"\u674e\u96f7,\u97e9\u6885\"\n    \u5c0f\u82b1\n\n    $ xlparser src.xlsx | xcut --from-csv -f score,name\n    score,name\n    15,\"\u674e\u96f7,\u97e9\u6885\"\n    16,\u5c0f\u82b1\n\n### python \u8c03\u7528\u793a\u4f8b\n\n#### \u8f6c\u4efb\u4f55\u7c7b\u578b\u7684\u6587\u4ef6\n`parse` any type of file to rows:\n\n    >>> from xlparser import parse, saveCsv\n    >>> rows = parse('some.xlsx')\n    >>> list(rows)\n    [['foo', 'bar'], ['\u770b', '\u6211', '\u53d8']]\n\nThe `parse` function supports the following file formats: .csv, .xls, .xlsx .\n\n#### \u4fdd\u5b58\u4efb\u4f55\u7c7b\u578b\u7684\u6587\u4ef6\nSave rows to csv\n\n    >>> from xlparser import parse, saveCsv\n    >>> rows = [['foo', 'bar'], ['\u770b', '\u6211', '\u53d8']]\n    >>> saveCsv(rows, 'test.csv')\n\nSave rows to xlsx\n\n    >>> saveXlsx(rows, 'test.xlsx')\n\n#### Csv \u6587\u4ef6\u5904\u7406\n\n    >>> from xlparser import *\n\n    >>> rows = [('foo','bar'), ('\u770b','\u6211','\u53d8')]\n    >>> saveCsv(rows, 'test.csv')\n\n    >>> list(parseCsv('test.csv'))\n    [['foo', 'bar'], ['\u770b', '\u6211', '\u53d8']]\n\n#### Zip \u6587\u4ef6\u5904\u7406\n\n    >>> from xlparser import loadZip\n    >>> zf = loadZip('test.xlsx')\n    >>> print(zf.filelist)\n    ......\n    >>> zf.extract('xl/media/image1.png', '/tmp')\n    >>> os.rename('/tmp/'+'xl/media/image1.png', './image1.png')\n\n### Required\n1. python>=3.5\n2. xlrd: required by xls\n2. openpyxl>=2.5.4: required by xlsx\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "xlparser cli/lib for xlsx, json, csv...",
    "version": "0.5.12",
    "project_urls": {
        "Homepage": "http://github.com/ahuigo/xlparser"
    },
    "split_keywords": [
        "xlparser",
        "xlsx",
        "csv",
        "json"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b2b8216da62c7156195369d5b17cca0b0a65e903a22bff241feed85c013d5ca8",
                "md5": "7edfc5c12512e37afe0ea346a11c2d6d",
                "sha256": "81bbaab9ff53558e4b5f94e4b7a4cdc88861fde8699ae39bac5d56e762171872"
            },
            "downloads": -1,
            "filename": "xlparser-0.5.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "7edfc5c12512e37afe0ea346a11c2d6d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6.1",
            "size": 6652,
            "upload_time": "2023-06-28T08:28:16",
            "upload_time_iso_8601": "2023-06-28T08:28:16.669309Z",
            "url": "https://files.pythonhosted.org/packages/b2/b8/216da62c7156195369d5b17cca0b0a65e903a22bff241feed85c013d5ca8/xlparser-0.5.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "404fc42833d415300597d43006ff9c8a262e17d521dcb7be5437f8daec24840e",
                "md5": "ca4f6c1b72fb317eea85bf5df9ddda43",
                "sha256": "74e5f7444a0d624c930e37f42ab60955e42843066ac8650d7b8fbec5b9faa2ef"
            },
            "downloads": -1,
            "filename": "xlparser-0.5.12.tar.gz",
            "has_sig": false,
            "md5_digest": "ca4f6c1b72fb317eea85bf5df9ddda43",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6.1",
            "size": 7718,
            "upload_time": "2023-06-28T08:28:18",
            "upload_time_iso_8601": "2023-06-28T08:28:18.257200Z",
            "url": "https://files.pythonhosted.org/packages/40/4f/c42833d415300597d43006ff9c8a262e17d521dcb7be5437f8daec24840e/xlparser-0.5.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-28 08:28:18",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ahuigo",
    "github_project": "xlparser",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "xlparser"
}
        
Elapsed time: 0.09028s