¥
立即购买

Python导入语句生成器

0 浏览
0 试用
0 购买
Dec 10, 2025更新

本提示词专门用于为特定功能的Python脚本生成必要的导入语句清单。通过分析脚本功能需求,精准识别所需的Python标准库、第三方库和自定义模块,提供完整、准确且符合最佳实践的导入建议。能够有效帮助开发者快速构建项目依赖结构,避免遗漏关键导入或引入不必要的依赖,提升代码质量和开发效率。适用于各类Python开发场景,包括数据分析、Web开发、自动化脚本等。

核心导入语句

# 数据读写与处理
import pandas as pd
import numpy as np

# Parquet 支持(pandas 通过 PyArrow 读写 Parquet;也可直接用 PyArrow)
import pyarrow as pa
import pyarrow.parquet as pq  # 若需要直接用 PyArrow 读取/写入或检查 schema,可保留;否则可省略

# Excel 导出引擎
import openpyxl  # 供 pandas.ExcelWriter(engine="openpyxl") 使用

# 可视化
import matplotlib.pyplot as plt
import seaborn as sns

# 路径与环境变量
from pathlib import Path
import os
from dotenv import load_dotenv

# 时区处理(Python 3.9+ 标准库)
from zoneinfo import ZoneInfo

# 日志
import logging

导入说明

  • pandas as pd

    • 功能:读取 CSV/Parquet,数据清洗(缺失值、去重、字符串标准化),分组统计与同比计算,日期解析,导出 Excel。
    • 场景:pd.read_csv、pd.read_parquet(engine="pyarrow")、DataFrame.groupby、Series.str.*、pd.to_datetime、DataFrame.to_excel(engine="openpyxl")。
  • numpy as np

    • 功能:数值计算与缺失值标记(np.nan)、数组操作、性能辅助。
    • 场景:缺失值填充/判断、向量化运算、类型转换。
  • pyarrow as pa / pyarrow.parquet as pq

    • 功能:Parquet 文件底层引擎,支持高性能读写与 schema 操作。
    • 场景:pandas 读写 Parquet 需安装 PyArrow;若需要直接检查 Parquet schema 或自定义读取流程,可用 pq.ParquetFile。
  • openpyxl

    • 功能:xlsx 文件读写;作为 pandas 的 ExcelWriter 引擎。
    • 场景:DataFrame.to_excel(..., engine="openpyxl") 导出最终结果。
  • matplotlib.pyplot as plt

    • 功能:底层绘图(折线图、条形图),保存为 PNG。
    • 场景:plt.figure、plt.plot/plt.bar、plt.savefig("...png", dpi=300)。
  • seaborn as sns

    • 功能:统计绘图高级接口,样式更佳,与 matplotlib 集成。
    • 场景:sns.lineplot、sns.barplot;配合 plt.tight_layout 和保存 PNG。
  • pathlib.Path

    • 功能:跨平台路径管理,遍历 data/ 目录、构建输出目录和文件路径。
    • 场景:Path("data").glob("*.csv")、Path("out").mkdir(parents=True, exist_ok=True)。
  • os

    • 功能:读取环境变量(配合 dotenv);必要的系统级操作。
    • 场景:os.getenv("DATA_DIR") 或 os.environ["DATA_DIR"]。
  • dotenv.load_dotenv

    • 功能:从 .env 文件加载环境变量(例如数据目录 DATA_DIR)。
    • 场景:load_dotenv() 后通过 os.getenv 获取变量;避免硬编码路径。
  • zoneinfo.ZoneInfo

    • 功能:标准库时区对象,用于时间戳本地化与时区转换。
    • 场景:pd.to_datetime 后 dt.tz_localize(ZoneInfo("Asia/Shanghai")) 或 dt.tz_convert(...)
  • logging

    • 功能:统一记录运行信息、警告与错误。
    • 场景:logging.basicConfig(...),logger.info/debug/warning/error。

版本建议与安装命令

  • 兼容性与稳定性为主,推荐以下范围(按需微调):

    • pandas >= 2.2, < 3.0
    • numpy >= 1.26
    • pyarrow >= 12
    • openpyxl >= 3.1
    • matplotlib >= 3.8
    • seaborn >= 0.13
    • python-dotenv >= 1.0
  • 安装命令(建议使用虚拟环境):

    • pip
      • pip install -U "pandas>=2.2,<3.0" "numpy>=1.26" "pyarrow>=12" "openpyxl>=3.1" "matplotlib>=3.8" "seaborn>=0.13" "python-dotenv>=1.0"
    • 或者使用 requirements.txt(示例)
      • pandas>=2.2,<3.0
      • numpy>=1.26
      • pyarrow>=12
      • openpyxl>=3.1
      • matplotlib>=3.8
      • seaborn>=0.13
      • python-dotenv>=1.0

注意事项

  • Parquet 与 pandas

    • 使用 pandas.read_parquet 时显式设置 engine="pyarrow" 便于一致性:pd.read_parquet(path, engine="pyarrow")。
    • 多文件合并时先读取为列表再 pd.concat,确保关键列 dtype 一致(特别是分类/字符串列)。
    • 若需复杂 schema 或高效列裁剪,可考虑直接用 pyarrow.parquet.ParquetFile 再转为 pandas 类型。
  • 字符串标准化

    • 使用 pandas 的字符串方法:df["col"].str.strip().str.lower().str.normalize("NFKC") 等;避免手动正则除非必要。
    • 注意 locale 差异与 Unicode 标准化对比较/分组的影响。
  • 缺失值与去重

    • 缺失值用 np.nan 表示;合并后注意 df.isna().sum() 检查。
    • 去重建议指定关键字段 subset,例如 df.drop_duplicates(subset=["地区", "品类", "日期"])。
  • 日期解析与时区

    • 使用 pd.to_datetime 统一解析;明确格式能提升性能(例如 format="%Y-%m-%d")。
    • 时区处理用 ZoneInfo:先本地化再转换;避免混用“naive”和“aware”时间戳。
    • 若原始数据含多时区,先规范到同一时区再做同比。
  • 绘图与导出 PNG

    • 建议设置风格:sns.set_theme(style="whitegrid")。
    • 保存图像时指定 dpi(如 150–300)和 bbox_inches="tight":plt.savefig(path, dpi=300, bbox_inches="tight")。
    • 大数据集绘图前做好聚合(按“地区、品类、日期”)以免渲染过慢。
  • Excel 导出

    • pandas 默认能写 xlsx,但为明确引擎与兼容性,使用 engine="openpyxl"。
    • 大表可设置 index=False,或设置 sheet_name,避免默认索引干扰业务列。
    • 若需要多工作表,用 pd.ExcelWriter(output_path, engine="openpyxl") 统一管理。
  • 路径与环境变量

    • 使用 load_dotenv() 后读取 os.getenv("DATA_DIR"),再 Path(data_dir) 保证跨平台。
    • 输出目录提前创建:Path("out").mkdir(parents=True, exist_ok=True)。
  • 日志

    • 在入口处配置:logging.basicConfig(level=logging.INFO, format="%(asctime)s %(levelname)s %(message)s")。
    • 对关键步骤(读取文件数量、合并行数、缺失值统计、导出路径)记录 info;异常捕获记录 error。
  • 依赖与兼容

    • pandas 与 numpy、pyarrow 的版本需匹配;若升级到最新主版本后出现 API 变动,请参考对应发行说明。
    • 避免混用旧版 pytz;优先使用标准库 zoneinfo。
    • 将 .env 放在项目根目录,并避免提交到版本控制(添加到 .gitignore)。

核心导入语句

  • 标准库

    • import io
    • import json
    • import logging
    • from logging.config import dictConfig
    • from typing import Any, Dict, List, Optional, Annotated
  • FastAPI 应用与中间件

    • from fastapi import FastAPI, HTTPException, Request, UploadFile, File, status
    • from fastapi.middleware.cors import CORSMiddleware
    • from fastapi.responses import JSONResponse
    • from fastapi.exceptions import RequestValidationError
    • from starlette.middleware.base import BaseHTTPMiddleware
    • from starlette.concurrency import run_in_threadpool
  • 配置与校验(Pydantic v2)

    • from pydantic import BaseModel, Field
    • from pydantic_settings import BaseSettings, SettingsConfigDict
  • 数据处理

    • import pandas as pd
  • 数据库(SQLAlchemy + psycopg)

    • from sqlalchemy import create_engine
    • from sqlalchemy.engine import Engine
    • from sqlalchemy.exc import SQLAlchemyError
  • 缓存(Redis 异步客户端)

    • from redis.asyncio import Redis
  • 机器学习模型

    • import joblib
    • from sklearn.base import BaseEstimator
  • 启动服务

    • import uvicorn

导入说明

  • 标准库

    • io:处理上传 CSV 的二进制流(BytesIO/StringIO)以供 pandas 解析。
    • json:序列化/反序列化预测请求或缓存内容。
    • logging / dictConfig:定义标准化日志格式、级别与处理器。
    • typing:为请求体/响应/配置等提供类型提示,提升可读性与工具链支持。
  • FastAPI 应用与中间件

    • FastAPI, HTTPException, Request, UploadFile, File, status:创建应用、定义路由、处理文件上传、抛出 HTTP 异常与使用状态码。
    • CORSMiddleware:开启和配置 CORS。
    • JSONResponse:自定义异常处理返回统一 JSON。
    • RequestValidationError:拦截 Pydantic 校验错误,统一异常返回。
    • BaseHTTPMiddleware:实现请求-响应时长、路径、状态码的请求日志中间件。
    • run_in_threadpool:将阻塞型任务(pandas 解析、DataFrame.to_sql)安全地丢到线程池,避免阻塞事件循环。
  • 配置与校验(Pydantic v2)

    • BaseModel, Field:定义 /predict 的输入/输出模型并进行校验与默认值约束。
    • BaseSettings, SettingsConfigDict:从 .env 读取服务配置(数据库 URL、Redis URL、CORS 白名单、模型路径等)。
  • 数据处理

    • pandas as pd:解析上传 CSV 为 DataFrame,并通过 DataFrame.to_sql 写入数据库。
  • 数据库(SQLAlchemy + psycopg)

    • create_engine / Engine:构建 SQLAlchemy 引擎(同步)以便 DataFrame.to_sql 使用;驱动选择 psycopg3。
    • SQLAlchemyError:捕获数据库相关异常并转换为 5xx/4xx 级别的 HTTP 错误。
    • 连接 URL 示例(用于说明,不属于导入):postgresql+psycopg://user:password@host:5432/dbname
  • 缓存(Redis 异步客户端)

    • Redis:使用 redis-py 的 asyncio 客户端在 /predict 中对结果进行缓存(get/set/expire)。
  • 机器学习模型

    • joblib:在应用启动时加载已训练的 scikit-learn 模型(.joblib 或 .pkl)。
    • BaseEstimator:为已加载模型提供类型提示,便于 IDE 与静态分析。
  • 启动服务

    • uvicorn:以 uvicorn 启动 FastAPI 应用,配合标准日志配置。

版本建议

  • Python 与核心依赖(尽量保持同一大版本内的次版本更新)

    • Python >= 3.10(建议 3.11,性能更优)
    • fastapi >= 0.115,<1
    • uvicorn[standard] >= 0.30,<1
    • pydantic >= 2.5,<3
    • pydantic-settings >= 2.2,<3
    • pandas >= 2.2,<3
    • SQLAlchemy >= 2.0.30,<3
    • psycopg[binary] >= 3.1,<4
    • redis >= 5.0,<6
    • scikit-learn >= 1.4,<2
    • joblib >= 1.3,<2
  • 安装命令示例

    • pip install "fastapi>=0.115,<1" "uvicorn[standard]>=0.30,<1"
    • pip install "pydantic>=2.5,<3" "pydantic-settings>=2.2,<3"
    • pip install "pandas>=2.2,<3"
    • pip install "SQLAlchemy>=2.0.30,<3" "psycopg[binary]>=3.1,<4"
    • pip install "redis>=5.0,<6"
    • pip install "scikit-learn>=1.4,<2" "joblib>=1.3,<2"

注意事项

  • 异步与阻塞

    • pandas 的 CSV 解析和 DataFrame.to_sql 均为阻塞操作。务必使用 starlette.concurrency.run_in_threadpool 包裹这类调用,避免阻塞事件循环。
    • Redis 采用 redis.asyncio,确保在 async 路由内 await 客户端方法。
  • SQLAlchemy 与 psycopg3

  • Pydantic v2 与 .env

    • 使用 pydantic-settings 的 BaseSettings,它默认支持从环境变量与 .env 读取。可通过 SettingsConfigDict(env_file=".env") 指定文件与编码。
    • Pydantic v2 的校验异常类型为 RequestValidationError,经由全局异常处理转换为结构化 JSON。
  • CORS 与安全

    • CORSMiddleware 的 allow_origins 在生产环境应为白名单而不是 ["*"]。
    • 对 /ingest 的 CSV 文件大小与列字段进行基本校验,避免内存爆;可在读取时指定 dtype、usecols 等限制。
  • 模型加载与预测

    • 使用 joblib 在应用启动时加载模型并缓存于全局;预测前对输入进行严格校验与特征对齐。
    • 如模型需要 numpy,请确保环境已安装 numpy(scikit-learn 依赖会带上,不需额外导入)。
  • 日志

    • 使用 logging.config.dictConfig 定义标准化格式(时间、等级、模块、请求 ID 等)。在请求中间件中记录 method、path、status_code、耗时,避免记录敏感数据。
  • 兼容性

    • 确保 FastAPI 与 Pydantic 为 v2 生态(fastapi>=0.100 已全面支持 v2);不要混用 pydantic v1 的 BaseSettings。
    • redis-py v5 的 asyncio API 位于 redis.asyncio;不要再使用已弃用的 aioredis 包名。

以上导入清单与说明覆盖了所述功能的最小必要依赖,符合当前主流 Python 版本与库生态的最佳实践。

核心导入语句

按功能分类给出“必须”的导入,确保满足你描述的功能需求且尽量精简依赖。

  • 异步与并发

    import asyncio
    import random
    import re
    from datetime import datetime
    from typing import Optional, List, Dict, Any
    from urllib.parse import urljoin
    
  • 网络请求与代理(aiohttp)

    import aiohttp
    from aiohttp import ClientSession, ClientTimeout, TCPConnector, ClientError
    
  • HTML 解析(BeautifulSoup 使用 lxml 解析器)

    from bs4 import BeautifulSoup
    
  • 数据存储与文件输出

    import sqlite3
    import csv
    from pathlib import Path
    
  • 定时调度(APScheduler,基于 asyncio)

    from apscheduler.schedulers.asyncio import AsyncIOScheduler
    from apscheduler.triggers.interval import IntervalTrigger
    from zoneinfo import ZoneInfo
    
  • 统一重试策略(tenacity)

    from tenacity import (
        retry,
        stop_after_attempt,
        wait_exponential,
        retry_if_exception_type,
    )
    
  • 配置与日志

    import os
    from dotenv import load_dotenv
    import logging
    

可选(仅在需要时再加入,避免不必要依赖):

  • 直接用 lxml 解析(如需 XPath)
    # 可选:如果更偏好 lxml.html 解析
    # from lxml import html
    
  • 代理为 SOCKS5 时(aiohttp-socks)
    # 可选:仅当需要 SOCKS5 代理时
    # from aiohttp_socks import ProxyConnector
    

导入说明

  • asyncio:提供事件循环、任务并发(gather/sem)、超时(wait_for)等基础设施。
  • random:从自定义 UA 列表中随机挑选,以实现随机 UA。
  • re:正则表达式清洗正文、去除多余空白、标签噪音等。
  • datetime:时间戳生成、入库时间/文件名日期标记。
  • typing:为函数签名和数据结构加类型注解,便于维护。
  • urllib.parse.urljoin:将详情页的相对链接转为绝对链接。
  • aiohttp / ClientSession / ClientTimeout / TCPConnector / ClientError:
    • 建立异步 HTTP 会话;设置全局/单请求超时;连接池与并发连接限制;捕获请求异常用于重试。
    • 代理支持:传入 trust_env=True 读取环境变量中的 HTTP(S)_PROXY;或在请求中使用 proxy 参数。
  • BeautifulSoup:HTML 解析提取标题/时间/正文;搭配解析器 "lxml" 性能更优、容错更好。
  • sqlite3:嵌入式数据库存储结构化结果,适合轻量爬虫。
  • csv:每日生成 CSV 归档,便于下游分析与审计。
  • pathlib.Path:统一管理数据目录、CSV 路径、日志目录,跨平台安全。
  • APScheduler.AsyncIOScheduler / IntervalTrigger / ZoneInfo:
    • 在 asyncio 事件循环中每小时触发抓取任务;设置时区避免跨日/夏令时问题。
  • tenacity(retry/stop_after_attempt/wait_exponential/retry_if_exception_type):
    • 针对网络类瞬时错误(如 aiohttp.ClientError、asyncio.TimeoutError)做指数退避重试。
  • dotenv.load_dotenv:
    • 从 .env 文件加载配置(站点列表、并发数、代理、超时、DB 路径、日志级别等)到环境变量。
  • logging:
    • 统一分级日志(INFO/DEBUG/ERROR),记录抓取统计、异常等。

可选导入说明:

  • lxml.html:若更偏好 XPath 选择器或对性能有更高要求,可直接使用 lxml.html.fromstring 解析。
  • aiohttp_socks.ProxyConnector:若代理为 socks5://...,需此扩展连接器。

版本建议

为兼容 Python 3.10–3.12,选择稳定大版本区间并避免已知不兼容变更。

  • aiohttp >= 3.9, < 4.0
  • beautifulsoup4 >= 4.12, < 5.0
  • lxml >= 5.2, < 6.0 (仅作 BeautifulSoup 的 lxml 解析器依赖或直接用 lxml.html 时需要)
  • APScheduler >= 3.10, < 3.11
  • tenacity >= 8.2, < 9.0
  • python-dotenv >= 1.0, < 2.0

安装命令(推荐使用虚拟环境):

pip install \
  "aiohttp>=3.9,<4.0" \
  "beautifulsoup4>=4.12,<5.0" \
  "lxml>=5.2,<6.0" \
  "APScheduler>=3.10,<3.11" \
  "tenacity>=8.2,<9.0" \
  "python-dotenv>=1.0,<2.0"

仅在需要 SOCKS5 代理时安装:

pip install "aiohttp-socks>=0.8,<0.9"

注意事项

  • 解析器选择
    • BeautifulSoup 默认解析器为 html.parser,性能较慢且容错有限。建议安装 lxml 并使用 BeautifulSoup(..., "lxml")。
    • 若对性能/准确性要求更高,考虑直接用 lxml.html(可选依赖)。
  • 代理配置
    • 建议在 .env 中设置 HTTP_PROXY/HTTPS_PROXY/NO_PROXY,并在 ClientSession(..., trust_env=True) 使其生效。
    • 若使用 SOCKS5,需要 aiohttp-socks 并使用 ProxyConnector。一般 HTTP/HTTPS 代理无需额外依赖。
  • 超时与重试
    • 以 ClientTimeout(total=...) 配合 per-request timeout 更稳妥;重试仅对可恢复错误(ClientError、Timeout)生效,务必避免对 4xx 重试。
    • tenacity 用于 async 函数时无需额外适配,但建议设置 reraise=True,避免吞掉异常。
  • 并发与限速
    • 使用 asyncio.Semaphore 控制并发数,避免对源站造成过高压力或被限流。
    • 对同站点做简单间隔随机抖动(如 asyncio.sleep(random.uniform(0.2, 0.8))) 可降低反爬命中率。
  • SQLite 写入
    • sqlite3 为同步阻塞;建议集中在单一“写入协程”串行落库,或使用 run_in_executor 移交写入,避免阻塞事件循环。
    • 开启 WAL 模式(PRAGMA journal_mode=WAL)可提升并发读写性能。避免多线程共享连接(或设置 check_same_thread=False 并做好串行化)。
  • CSV 输出
    • 打开文件时使用 newline="" 避免空行;编码使用 UTF-8。
    • 使用 Path 以日期命名目录/文件(如 data/2025-12-10/news.csv)。
  • 调度与时区
    • 使用 AsyncIOScheduler(timezone=ZoneInfo("Asia/Shanghai")) 并配合 IntervalTrigger(hours=1)。
    • 应在主事件循环中启动/关闭 scheduler,应用退出前 scheduler.shutdown(wait=True)。
  • UA 与 Headers
    • 建议自带一个维护的 UA 列表(桌面/移动混合),用 random.choice 选择,避免依赖不稳定的 UA 生成库。
  • 安全与合规
    • 遵守站点 robots.txt 与服务条款;设置合理的并发/频率与超时,避免对源站造成压力。
  • 运行环境
    • lxml 在部分 Linux 发行版可能需要系统依赖;优先使用官方 manylinux 轮子版本(pip 会自动安装),若编译失败需安装 libxml2/libxslt 开发包。
  • 日志
    • 根据需求配置不同 Handler(控制台/文件),在生产环境避免 DEBUG 级别长期开启;如需文件轮转可增加 logging.handlers RotatingFileHandler(可选导入)。

示例详情

解决的问题

让开发者从一句“我要做什么”直达“该导入什么”,为数据分析、Web 开发、自动化脚本与机器学习等场景,自动生成零遗漏、零冗余、可落地的 Python 导入清单与说明。通过精准识别标准库、第三方库与自定义模块,附带版本建议与注意事项,帮助个人与团队快速搭建环境、降低运行错误、统一代码规范,显著缩短起步与调试时间,提升交付稳定性与团队协作效率,促使用户从试用直观感受价值并持续复用进而付费升级。

适用用户

数据分析师

在探索性分析与报表脚本中,快速生成常用数据处理与可视化库的导入与说明,减少环境差异导致的报错,加速从数据读取到出图。

后端工程师

新建服务接口或管理后台时,一键获取分组清晰的导入清单与版本建议,降低依赖冲突风险,统一团队风格并缩短项目起步时间。

机器学习工程师

在建模、特征工程与推理脚本中,自动产出训练与部署常用库导入方案,并附兼容性提示,减少因版本不一致造成的失败重跑。

特征总结

自动识别脚本功能,轻松生成所需标准库与第三方库导入,避免遗漏与重复
按业务场景分组输出导入清单,结构清晰,一键复制即可搭好项目依赖骨架
同步提供安装与使用要点提示,减少搜索比对时间,快速进入编码状态
智能规避冗余依赖与潜在冲突,保持代码精简,降低包体与维护成本
给出稳定版本与兼容性建议,跨Python版本与平台更安心,少踩坑
识别自定义模块与命名空间,按最佳实践生成别名与导入方式,更易维护
覆盖数据分析、Web与自动化等常见场景,模板化产出导入方案,直接复用
附带每项导入的理由说明,便于团队协作与代码评审,统一导入规范

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

AI 提示词价格
¥20.00元
先用后买,用好了再付款,超安全!

您购买后可以获得什么

获得完整提示词模板
- 共 578 tokens
- 1 个可调节参数
{ 脚本功能描述 }
获得社区贡献内容的使用权
- 精选社区优质案例,助您快速上手提示词
使用提示词兑换券,低至 ¥ 9.9
了解兑换券 →
限时半价

不要错过!

半价获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59