semvec/pypi-packages huggingface dataset:
dirview 0.1.5
A simple directory tree display tool
Requires Python: >=3.6

# DirTree

一个简单易用的目录树显示工具。

## 功能特点

- 显示目录的树形结构
- 支持排除指定目录
- 可以限制显示深度
- 可以显示文件大小
- 支持彩色输出和文件/文件夹图标
- 显示统计信息（目录数、文件数、总大小）

## 安装

```shell
pip install dirview
```

## 使用方法

基本用法:

```bash
dirtree [路径] [选项]
```

### 选项说明:

- -h, --help: 显示帮助信息
- -e, --exclude: 要排除的目录列表 (例如: -e node_modules .git)
- -L, --level: 最大显示深度 (例如: -L 2)
- -s, --size: 显示文件大小
- --version: 显示版本信息

### 使用示例:

```bash
# 显示当前目录的树结构
dirtree

# 显示指定目录的树结构
dirtree /path/to/directory

# 显示当前目录的树结构及文件大小
dirtree -s

# 只显示两层深度的目录结构
dirtree -L 2

# 排除指定目录
dirtree -e .git node_modules
```

### 输出示例:

```makefile
目录树 for /your/project/path
==================================================
├── 📁 src/
│   ├── 📄 main.py
│   └── 📄 __init__.py
├── 📄 README.md
└── 📄 pyproject.toml

统计信息:
目录数: 1
文件数: 3
总大小: 2.5KB
```

## 默认排除的目录

工具默认会排除以下目录:

- .git
- __pycache__
- node_modules
- langchain-env

## 许可证

MIT License

## 作者

陈定钢 ([945036663@qq.com](mailto:945036663@qq.com))

## 贡献

欢迎提交 Issue 和 Pull Request！

## 更新历史

### 0.1.1

- 初始发布
- 实现基本的目录树显示功能
- 添加文件大小显示功能
- 添加目录排除功能
- 添加深度限制功能
mjsqltool 2.1.3
数据库工具
Requires Python: >=3


## 使用说明

变量环境设置（数据库的链接信息存储在变量环境中）
```
# 设置环境变量 user 是用户名，password 是密码，192.168.1.10:22484 数据库地址
os.environ['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:password@192.168.1.10:22484/'

# 获取环境变量，如果不存在则使用默认值
value = os.environ.get('SQLALCHEMY_DATABASE_URI', 'default_value')
print(value+"DY_DSLP")
```
windwow cmd 设置永久环境变量
```
setx SQLALCHEMY_DATABASE_URI "mysql+pymysql://user:password@192.168.1.10:22484/"
```

1、安装包模块
```
pip install mjsqltool
pip install --upgrade mjsqltool
```
2、引入包模块
```
from mjsqltool import SqlConnect,DataConvert,SqlExecute
```

#### SqlConnect
链接数据库,使用完毕后自动关闭
```
# 数据库名称
db  = 'database'
with SqlConnect(db) as cn:
    .....
```

#### DataConvert
数据转换
1、清洗数据
2、数据转SQL
```
convert = DataConvert()
df = pd.read_exce("jjjj.xlsx")

# 清洗数据
df = convert.convert_to_cleandata(df)

# 转成SQL语句  sql_type:   保存类型 有两个可选参数 'INSERT' 和 'REPLACE'
data = df
table_name = '测试表格'
sql_type='REPLACE'
query = convert.convert_to_sqlstring(data,table_name, sql_type)

```

#### SqlExecute 
SqlExecute 将数据保存到MySQL
SqlExecute 继承了 DataConvert,

```
from mjsqltool import SqlConnect,DataConvert,SqlExecute
import pandas as pd

with SqlConnect("MJ_DATA") as cn:
    df = pd.read_excel(r"C:\Users\manji\Downloads\联盟订单.xlsx")
    SqlExecute().data_cleanerSave_tosql(df,"测试表格",cn)
```

#### SqlExecute().data_cleanerSave_tosql

参数说明
```
sql_type='INSERT', 
# sql_type='INSERT' 自动忽略重复主键记录 有两个可选参数 'INSERT' 和 'REPLACE'

datalong = None, 
# datalong="only" 为 only时,只写入mysql中存在的数据字段

chunk_size=10000   
# 每次最大写入数据的数据记录,例如90条数据，每次写入10条,则自动拆分成10次写入
```

#### 使用pandas读取MySQL数据
```
reportSql = 'select * from TB_table'
with SqlConnect(database="TB_GGTF") as cn:
    reportSql = text(reportSql)  # 将字符串转换为可执行的 SQL 对象
    df = pd.read_sql_query(reportSql,cn)  
    print(df)
```

## 打包
```
python setup.py sdist bdist_wheel

```

# pgsql
测试代码
```
from mjsqltool import ConnectDB # 连接pgsql数据库
from mjsqltool import cleandf  # 清洗df数据 
from mjsqltool import upsert_factory     # 主键冲突处理方法
from mjsqltool import dftopostgresql     # 数据写入到pgsql数据库(包含清洗数据和处理主键冲突)

import pandas as pd


if __name__ == '__main__':
    df = pd.read_excel(r"C:\Users\manji\Downloads\服务费结算单3月.xlsx")
    DB_URI='postgresql+psycopg2://postgres:manji1688@127.0.0.1:5432/'
    with ConnectDB(database='shop_data', db_uri=DB_URI) as db:
        result = dftopostgresql(df, db, 'douyin_shop',table_name='dy_dp_gyl_fwfjsd_copy1',on_conflict='do_update', chunksize=10)
        print(result)

```