# DataToolsObj **Repository Path**: smhyzh/data-tools-obj ## Basic Information - **Project Name**: DataToolsObj - **Description**: data-tools工具的面向对象版本,用于简化使用方法。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-06-05 - **Last Updated**: 2025-10-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DataToolsObj #### 介绍 用于数据分析的一些常用工具,只面向特定方面,不是通用的功能。 #### 软件架构 只有一个Python包DataToolsObj > 内部预计分为: >> excel >> - 主要完成excel数据的获取与保存相关操作。 >> idcard >> - 主要完成对身份证号码的处理。 >> dirwalk >> - 主要用于处理批量数据文件读入时遍历目录相关操作。 #### 安装教程 1. 从https://gitee.com/smhyzh/data-tools-obj.git下载datatools模块。 2. 解压缩。 3. 使用python setup.py install安装 #### 使用说明 1. 使用新的包装方法 ```py from datatoolsobj import * me = MyExcel(dir_path,project_name) me.play() data = me.getData() ``` 及 ```py from datatoolsobj import * me = MyExcel(dir_path,project_name) me.findUseSheets() me.findUseColumns() data = me.concatData() ``` 或者使用传统方法 ```py from datatoolsobj import * edw = ExcelDirWalk(dir_path,conf_dir_path) if edw.isNewDir(): edw.outUsedExcelConfFile() input("此处暂停,输出了Excel文件结构配置文件,手动配置") edw.inUsedExcelConfFile() used_sheets = edw.getExcelDirDataFrame() ehb = ExcelHub(used_sheets,conf_columns_path) if ehb.isNewDir(): ehb.outUsedSheetColumnsConfFile() input("此处暂停,输出了所有Sheet表设计的列名结构,手动配置") ehb.inUsedSheetColumnsConfFile used_columns = ehb.getUsedSheetColumnsDataFrame() ec = ExcelConcat(used_columns) data = ec.concat() ``` 2. 多行表头读取方法 > 对于数据表中的表头部分存在跨越多行的情况,可以使用MyExcel().dump()先对多行表头进行单行转换, 然后将转换后的数据使用上面的方法重新读取得以解决问题。 参考代码如下: ```python dir_my = "../原始数据/**清单和花名册" my_meh = MyExcel(dir_my,"多行表头配置文件") my_meh.dump() #执行此函数的时候,会自动在conf文件下生成【多行表头配置文件使用表配置】文件;其中需要将对应的 #是否多行修改为是,将多行的起始标记和结束标记结出,其他与普通读取方式一致。 #确认后会自动生成【多行表头配置文件多行表头用列配置】配置文件,设置其中的【需要细化】为是的项,然后 #指定不使用多余的行号,即可自动在【数据转储】目录下生成相同结构但表头为单行的原始数据。 dir_dump ="../数据转储/**清单和花名册" dump_meh = MyExcel(dir_dump,"**转储读取") dump_data = dump_meh.play() ``` 3. 数据整合分析法 #### TODO: #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request