- [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"
}