معرفی شرکت ها


easyxl-1.0.18


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

-
ویژگی مقدار
سیستم عامل -
نام فایل easyxl-1.0.18
نام easyxl
نسخه کتابخانه 1.0.18
نگهدارنده []
ایمیل نگهدارنده []
نویسنده leeheisen
ایمیل نویسنده -
آدرس صفحه اصلی https://github.com/leeheisen/easyxl
آدرس اینترنتی https://pypi.org/project/easyxl/
مجوز -
\n ## 导出命令 1. 安装python,推荐3.8.10 2. 安装easyxl,命令行运行:python -m pip install easyxl 3. 按照后述格式填写好excel表格后,命令行运行:python -m easyxl /path/to/your/excel/file/ 4. 输出结果在excel文件同级目录下与excel文件同名的文件夹里 ## 填表说明 ### cmd表单 * cmd是管理导出任务的默认表单 * 保证第一行和第一列没有被空单元格间断(合并单元格里的所有单元格都是非空) * 第一列:h标明表头的范围 * *标明要输出的内容 * #注释掉不需要输出的内容 * 表头说明: * Task:任务标记 * SheetName:任务所对应的表单名称 * Export:是否执行导出 * OneFilePerId:是否按照第一层的Id,按照Id导出单独的数据文件 ### 待导出表单 * **分隔符与信息记号:** * "-"是默认的分隔符 * 名称、第一行/列的h/id标记、强制转换数值类型、数据结构、null记号等信息记号,都需要用"-"分隔 * 名称: * 用分隔符分割单元格的数据后,第一个会被作为单元格的名称。如果是"-AB-EF"的结构,第一个值是"",单元格名称会被设置为None * h/id标记: * h,在第一列标记所有表头所在的行 * id,在第一行标记所有ID所在的列 * 强制转换数值类型:支持的类型包括int、float、str、bool * 数据结构:dict、list * null记号: * none或null都可以,不区分大小写 * 放置了null记号的单元格,会被当做空单元格处理 * **Id与Header** * 支持多列的Id嵌套,支持多行的Header嵌套 * 支持定义数据结构:dict与list。实现方式:在对应的单元格添加分隔符与对应类型(dict、list) * 支持注释:如果在某个单元格前添加#,则该单元格对应的行或列不会被导出 * **合并多行多列数据** * 方法1:合并涉及的单元格 * 方法2:第一个单元格正常书写,剩余单元格留空 * 方法3:所有单元格都填写内容 * 需保证拆分后的name都一样。添加#不影响对name的判断。 * 只有第一个单元格的#能够起到注释的作用。 * 合并多行或多列的一个注意项: * 如果是Id的末列或者Header的末行,一个Id对应多行,或者一个Header对应多列,则对应的行列数据都会被放到一个list里,无论定义的这个Id或Header的数据结构是list还是dict。之所以这么做,是因为没有下一列或下一行提供字典的key。 * **Content区:** * Header末行以下、Id末列以右的区域 * 支持单元格内填写**Json5**格式数据 ### 其他 * 重复Id处理:后边覆盖前边 * 空表头处理: * 如果数据向上追溯碰到的第一个非空表头是list,则该数据会被放到对应的list里 * 如果数据向上追溯碰到的第一个非空表头是dict,则该数据会被放到{None:}里。注意:多个空表头会导致只有最后一个表头对应的数据被放到{None:}里 * 把数据按第一个Id列表输出(只适用于不是OneFilePerId的情形): * 方法1:在(1, 1)输入{abcd:[]}(abcd可以用其他字母替换),脚本会以该格式作为包裹,将id列的值放到列表里;id列的键会被略去,因为外层是一个list。 * :方法2:在Id列左侧再插入一个辅助列,作为一个包裹结构。比如data-list,具体格式参见**合并多行多列数据**的3个方法之一 * 对于字母和数字拼接的Id,使用"_"拼接,会默认把Id拆分后进行排序 * 将json转换为C#的数据结构:https://json2csharp.com/ ## TODO - [x] 添加:根据cmd表单,形成任务列表的功能 - [x] 添加:获取Sheet信息 - [x] 添加:#注释掉列的功能 - [x] 添加:#注释掉行的功能 - [x] 添加:忽略空单元格的功能 - [x] 添加:将Id列转化为列表头,增加差异化列表头功能 - [x] 增强:Header垂直到尾的判断能力 - [x] 添加:parse单元格内Json字符串的功能 - [x] 添加:根据表头的类型标注转换单元格value的功能 - [x] 添加:将多个相同ID表头的行合并伪一个list的功能 - [x] 添加:OneFilePerId的功能 - [x] 添加:命令行读取参数,处理Excel文件的功能 - [x] 打包发布到Pypi - [x] 增加不同层级的remove_empty的功能:RmEmptyDictItem、RmEmptyListItem - [x] 将单元格里的json结构化为UnifiedData,减少递归判断的复杂程度,也方便做remove_empty - [ ] 增加数据校验的功能 - [ ] 增加数据导出为类的功能


نیازمندی

مقدار نام
- xlwings
- mjson5


زبان مورد نیاز

مقدار نام
>=3.10 Python


نحوه نصب


نصب پکیج whl easyxl-1.0.18:

    pip install easyxl-1.0.18.whl


نصب پکیج tar.gz easyxl-1.0.18:

    pip install easyxl-1.0.18.tar.gz