# py **Repository Path**: firgy/py ## Basic Information - **Project Name**: py - **Description**: python小工具 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 商品链接提取工具 一个用于从Excel文件中提取商品链接并整理到文本文件的Python工具。 ## 功能特性 - 支持多种Excel格式(.xlsx, .xls) - 从多个Excel文件中批量提取第一列数据 - 自动去除重复链接 - 灵活的输入方式: - 命令行参数 - 文件列表(逗号分隔) - 外部文件列表 - 通配符模式匹配 - 完善的日志记录系统 - 支持自定义输出目录和文件名 ## 环境要求 - Python >= 3.14 - uv 包管理器(推荐) ## 安装 ### 使用 uv 安装(推荐) ```bash # 克隆项目 git clone cd py # 安装依赖 uv sync ``` ### 使用传统方式安装 ```bash # 创建虚拟环境 python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate # 安装依赖 pip install -e . ``` ## 使用方法 ### 基本用法 ```bash # 激活虚拟环境 source .venv/bin/activate # Windows: .venv\Scripts\activate # 运行程序(使用默认配置) python src/parse_goods_link.py ``` ### 命令行参数 ```bash python src/parse_goods_link.py \ --download-dir /path/to/downloads \ --suffix .xlsx \ --output 商品链接.txt \ --files 文件1,文件2,文件3 ``` #### 参数说明 - `--download-dir`: Excel文件所在目录(默认:~/Downloads) - `--suffix`: Excel文件后缀(默认:.xlsx) - `--output`: 输出文件名(默认:商品链接.txt) - `--files`: Excel文件名列表,用逗号分隔 ### 输入方式示例 #### 1. 逗号分隔的文件列表 ```bash python src/parse_goods_link.py --files "商品列表1,商品列表2,商品列表3" ``` #### 2. 外部文件列表 创建一个文本文件 `files.txt`,每行一个文件名: ``` 商品列表1 商品列表2 商品列表3 ``` 然后运行: ```bash python src/parse_goods_link.py --files files.txt ``` #### 3. 通配符模式匹配 ```bash python src/parse_goods_link.py --files "商品列表-*.xlsx" ``` #### 4. 单个文件 ```bash python src/parse_goods_link.py --files "商品列表1" ``` ## 配置说明 ### 日志配置 日志配置文件位于 `config/logging.yaml`,可以自定义日志格式和级别。 ### 默认配置 在 `src/parse_goods_link.py` 中可以修改默认配置: ```python config = Config( excel_files='文件1,文件2,文件3' ) ``` ## 输出说明 程序会生成一个文本文件,包含所有提取的商品链接: - 每个链接占一行 - 自动去除重复链接 - 保存到指定的输出目录 ## 日志级别 程序支持以下日志级别: - DEBUG: 详细的调试信息 - INFO: 一般信息(默认) - WARNING: 警告信息 - ERROR: 错误信息 ## 依赖项 - pandas >= 3.0.1: 数据处理 - openpyxl >= 3.1.5: Excel文件处理 - xlrd >= 2.0.2: 旧版Excel文件支持 - pyyaml >= 6.0.3: YAML配置文件解析 ## 常见问题 ### Q: 如何处理不同格式的Excel文件? A: 程序会自动尝试使用不同的引擎(openpyxl, xlrd)读取文件,支持.xlsx和.xls格式。 ### Q: 如何提取其他列的数据? A: 当前版本只提取第一列数据。如需提取其他列,需要修改 `src/parse_goods_link.py` 中的代码。 ### Q: 程序跳过了某些文件,如何查看原因? A: 查看日志输出,程序会详细记录每个文件的处理状态和跳过原因。 ### Q: 如何自定义输出目录? A: 使用 `--download-dir` 参数指定Excel文件所在目录,输出文件也会保存在同一目录。 ## 开发 ### 运行测试 ```bash pytest tests/ ``` ### 代码结构 ``` py/ ├── src/ # 源代码目录 │ ├── config.py # 配置管理模块 │ ├── log.py # 日志模块 │ └── parse_goods_link.py # 主功能模块 ├── config/ # 配置文件目录 │ └── logging.yaml # 日志配置 ├── tests/ # 测试目录 └── pyproject.toml # 项目配置 ``` ## 贡献 欢迎提交问题和拉取请求! ## 许可证 [待添加] ## 作者 [待添加] ## 更新日志 ### v0.1.0 - 初始版本 - 支持从Excel文件提取商品链接 - 支持多种输入方式 - 添加日志记录功能