{"id":29482237,"url":"https://github.com/fxbin/script-toolbox","last_synced_at":"2025-07-15T01:33:19.039Z","repository":{"id":296966946,"uuid":"995137778","full_name":"fxbin/script-toolbox","owner":"fxbin","description":"Script Toolbox","archived":false,"fork":false,"pushed_at":"2025-06-03T07:35:46.000Z","size":495,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-03T17:05:55.104Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fxbin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-03T02:59:33.000Z","updated_at":"2025-06-03T07:35:47.000Z","dependencies_parsed_at":"2025-06-03T17:06:48.433Z","dependency_job_id":"e2c231cf-56b2-4cf4-91c9-fb2e0bdda897","html_url":"https://github.com/fxbin/script-toolbox","commit_stats":null,"previous_names":["fxbin/script-toolbox"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fxbin/script-toolbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fscript-toolbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fscript-toolbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fscript-toolbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fscript-toolbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fxbin","download_url":"https://codeload.github.com/fxbin/script-toolbox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fxbin%2Fscript-toolbox/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265385760,"owners_count":23756729,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-15T01:31:57.209Z","updated_at":"2025-07-15T01:33:19.023Z","avatar_url":"https://github.com/fxbin.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# script-toolbox\nScript Toolbox\n\n## 脚本工具箱\n\n### Git 提交历史邮箱更新脚本 (update_git_history_email.sh)\n\n这个脚本用于批量修改 Git 仓库中的提交历史中的邮箱地址。当您需要更新 Git 提交历史中的邮箱信息时，这个工具可以帮助您快速完成操作。\n\n#### 使用方法\n\n1. 编辑脚本中的以下变量：\n   ```bash\n   OLD_EMAIL=\"test@demo.com\"      # 要替换的旧邮箱\n   NEW_EMAIL=\"newtest@demo.com\"   # 新的邮箱地址\n   CORRECT_NAME=\"test\"            # 要修改的提交者名称\n   CORRECT_EMAIL=\"newtest@demo.com\" # 要修改的提交者邮箱\n   ```\n\n2. 在 Git 仓库根目录下运行脚本：\n   ```bash\n   chmod +x update_git_history_email.sh\n   ./update_git_history_email.sh\n   ```\n\n#### 注意事项\n\n- **重要**：执行脚本前请务必备份您的仓库，因为这是一个不可逆的操作\n- 脚本执行完成后，需要使用 `git push --force --tags origin 'refs/heads/*'` 强制推送到远程仓库\n- 如果是 GitHub 保护分支，可能需要临时解除保护才能强制推送\n- 此操作会改变所有提交的 SHA-1 值，如果是团队协作项目，请确保通知所有相关成员\n\n#### 使用场景\n\n- 更改错误的提交邮箱地址\n- 统一团队成员的提交邮箱格式\n- 更新个人或组织的邮箱信息\n\n## 数据分析可视化工具 (data_analysis.py)\n\n### 示例使用\n\n以下是一个简单的使用示例：\n\n1. 上传一个包含日期和数值列的 CSV 文件。\n2. 选择折线图作为图表类型。\n3. 配置日期列为 X 轴，数值列为 Y 轴。\n4. 调整图表样式后，点击生成图表。\n\n您可以参考以下截图以了解工具界面和生成的图表效果：\n![数据分析工具界面示例](docs/images/dataanalysis_20250603152746.png)\n![数据分析工具界面示例](docs/images/dataanalysis_20250603152816.png)\n\n这是一个基于 Streamlit 的交互式数据分析和可视化工具，支持大规模数据集处理、多种图表类型和高级分析功能。\n\n### 主要功能\n\n1. 数据导入\n   - 支持 CSV 和 Excel 文件导入\n   - 自动处理大型数据集（自动采样）\n   - 内置示例数据生成器\n\n2. 日期/时间处理\n   - 自动检测和转换多种日期格式\n   - 支持时间序列分析\n   - 灵活的时区设置\n\n3. 可视化图表\n   - 折线图、柱状图、散点图\n   - 饼图、箱线图、热力图\n   - 面积图、直方图\n   - 时间序列图表\n\n4. 数据分析\n   - 数据摘要统计\n   - 相关性分析\n   - 时间序列分析\n   - 分类数据分析\n\n5. 数据导出\n   - 支持导出图表（PNG/SVG/PDF）\n   - 支持导出数据（CSV/Excel）\n\n### 安装依赖\n\n```bash\npip install streamlit pandas numpy matplotlib seaborn plotly openpyxl xlsxwriter\n```\n\n### 运行方法\n\n```bash\nstreamlit run data_analysis.py\n```\n\n### 使用说明\n\n1. 数据上传\n   - 通过文件上传器选择数据文件\n   - 或使用生成示例数据功能\n\n2. 图表配置\n   - 选择图表类型\n   - 配置坐标轴和分组选项\n   - 调整图表样式和大小\n\n3. 数据分析\n   - 选择分析类型\n   - 查看统计摘要\n   - 探索数据关系\n\n4. 结果导出\n   - 导出图表为多种格式\n   - 导出分析数据\n\n### 注意事项\n\n- 对于大型数据集，工具会自动采样以提高性能\n- 时间序列分析需要有效的日期/时间列\n- 部分分析功能可能需要纯数值数据\n- 建议在导出大量数据前先预览结果\n\n### 系统要求\n\n- Python 3.7+\n- 足够的内存处理目标数据集\n- 现代网页浏览器","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxbin%2Fscript-toolbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffxbin%2Fscript-toolbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffxbin%2Fscript-toolbox/lists"}