跳转至

Data

Metadata

Metadata(**kwargs: Any)

元数据

Parameters:

Name Type Description Default
**kwargs Any

参数

{}
Source code in wisecon\types\response_data.py
def __init__(self, **kwargs: Any):
    """元数据

    Args:
        **kwargs: 参数
    """
    super().__init__(**kwargs)
    self.columns = {k: v for k, v in self.columns.items() if v}

ResponseData

ResponseData(
    data: List[Dict],
    metadata: Optional[Metadata] = None,
    **kwargs: Any
)

请求返回数据的数据类

封装请求返回数据方法类

Parameters:

Name Type Description Default
data List[Dict]

返回数据

required
metadata Optional[Metadata]

元数据

None
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def __init__(
        self,
        data: List[Dict],
        metadata: Optional[Metadata] = None,
        **kwargs: Any,
):
    """封装请求返回数据方法类

    Args:
        data: 返回数据
        metadata: 元数据
        **kwargs: 其他参数
    """
    super().__init__(**kwargs)
    self.data = data
    self.metadata = metadata

show_columns

show_columns()

展示数据的字段信息

Source code in wisecon\types\response_data.py
def show_columns(self):
    """展示数据的字段信息"""
    pprint.pprint(self.metadata.columns, indent=4)

drop_no_zh_columns

drop_no_zh_columns()

删除非中文字段

Source code in wisecon\types\response_data.py
def drop_no_zh_columns(self):
    """删除非中文字段"""
    exits_columns = [k for k, v in self.metadata.columns.items() if v]
    self.data = [{k: v for k, v in item.items() if k in exits_columns} for item in self.data]

to_dict

to_dict(
    chinese_column: Optional[bool] = False,
) -> List[Dict]

Parameters:

Name Type Description Default
chinese_column Optional[bool]

是否将列名翻译为中文

False

Returns:

Type Description
List[Dict]

List[Dict]: 转换后的数据

Source code in wisecon\types\response_data.py
def to_dict(
        self,
        chinese_column: Optional[bool] = False,
) -> List[Dict]:
    """
    Args:
        chinese_column: 是否将列名翻译为中文

    Returns:
        List[Dict]: 转换后的数据
    """
    if chinese_column:
        data = [self._trans_chinese_columns(item) for item in self.data]
    else:
        data = self.data
    return data

to_frame

to_frame(
    chinese_column: Optional[bool] = False,
) -> DataFrame

返回数据的 pandas.DataFrame

Parameters:

Name Type Description Default
chinese_column Optional[bool]

是否将列名翻译为中文

False

Returns:

Name Type Description
dataframe DataFrame

数据的 pandas.DataFrame

Source code in wisecon\types\response_data.py
def to_frame(
        self,
        chinese_column: Optional[bool] = False,
) -> pd.DataFrame:
    """返回数据的 pandas.DataFrame

    Args:
        chinese_column: 是否将列名翻译为中文

    Returns:
        dataframe: 数据的 pandas.DataFrame
    """
    df = pd.DataFrame(data=self.data)
    if chinese_column:
        df.rename(columns=self.metadata.columns, inplace=True)
    return df

to_markdown

to_markdown(
    chinese_column: Optional[bool] = False, **kwargs: Any
) -> str

返回 Markdown 格式的数据

Parameters:

Name Type Description Default
chinese_column Optional[bool]

是否将列名翻译为中文

False
**kwargs Any

to_markdown() 的参数

{}

Returns:

Name Type Description
str str

markdown 格式的数据

Source code in wisecon\types\response_data.py
def to_markdown(
        self,
        chinese_column: Optional[bool] = False,
        **kwargs: Any,
) -> str:
    """返回 Markdown 格式的数据

    Args:
        chinese_column: 是否将列名翻译为中文
        **kwargs: to_markdown() 的参数

    Returns:
        str: markdown 格式的数据
    """
    return self.to_frame(chinese_column).to_markdown(**kwargs)

to_csv

to_csv(
    path: str,
    chinese_column: Optional[bool] = False,
    **kwargs: Any
) -> None

将数据保存至 csv 文件中

Parameters:

Name Type Description Default
path str

csv 文件路径

required
chinese_column Optional[bool]

是否将列名翻译为中文

False
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def to_csv(
        self,
        path: str,
        chinese_column: Optional[bool] = False,
        **kwargs: Any
) -> None:
    """将数据保存至 csv 文件中

    Args:
        path: csv 文件路径
        chinese_column: 是否将列名翻译为中文
        **kwargs: 其他参数
    """
    self.to_frame(chinese_column).to_csv(path, **kwargs)

to_excel

to_excel(
    path: str,
    chinese_column: Optional[bool] = False,
    **kwargs: Any
) -> None

将数据保存至 excel 文件中

Parameters:

Name Type Description Default
path str

excel 文件路径

required
chinese_column Optional[bool]

是否将列名翻译为中文

False
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def to_excel(
        self,
        path: str,
        chinese_column: Optional[bool] = False,
        **kwargs: Any
) -> None:
    """将数据保存至 excel 文件中

    Args:
        path: excel 文件路径
        chinese_column: 是否将列名翻译为中文
        **kwargs: 其他参数
    """
    self.to_frame(chinese_column).to_excel(path, **kwargs)

to_parquet

to_parquet(
    path: str,
    chinese_column: Optional[bool] = False,
    index: Optional[bool] = False,
    engine: Literal[
        "auto", "pyarrow", "fastparquet"
    ] = "auto",
    compression: str | None = "snappy",
    **kwargs: Any
) -> None

将数据存储为 parquet 文件

Parameters:

Name Type Description Default
path str

文件路径

required
chinese_column Optional[bool]

是否使用中文列名

False
index Optional[bool]

是否包含索引

False
engine Literal['auto', 'pyarrow', 'fastparquet']

存储引擎

'auto'
compression str | None

压缩格式

'snappy'
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def to_parquet(
        self,
        path: str,
        chinese_column: Optional[bool] = False,
        index: Optional[bool] = False,
        engine: Literal["auto", "pyarrow", "fastparquet"] = "auto",
        compression: str | None = "snappy",
        **kwargs: Any
) -> None:
    """将数据存储为 parquet 文件

    Args:
        path: 文件路径
        chinese_column: 是否使用中文列名
        index: 是否包含索引
        engine: 存储引擎
        compression: 压缩格式
        **kwargs: 其他参数
    """
    self.to_frame(chinese_column).to_parquet(
        path, index=index, engine=engine,
        compression=compression, **kwargs)

to_pickle

to_pickle(
    path: str,
    chinese_column: Optional[bool] = False,
    **kwargs: Any
)

将数据存储为 pickle 文件

Parameters:

Name Type Description Default
path str

文件保存路径

required
chinese_column Optional[bool]

是否使用中文列名

False
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def to_pickle(
        self,
        path: str,
        chinese_column: Optional[bool] = False,
        **kwargs: Any,
):
    """将数据存储为 pickle 文件

    Args:
        path: 文件保存路径
        chinese_column: 是否使用中文列名
        **kwargs: 其他参数
    """
    self.to_frame(chinese_column).to_pickle(path,  **kwargs)

to_string

to_string(
    chinese_column: Optional[bool] = False, **kwargs: Any
) -> str

将数据转换为 string 格式

Parameters:

Name Type Description Default
chinese_column Optional[bool]

是否将列名转换为中文

False
**kwargs Any

其他参数

{}

Returns:

Name Type Description
str str

数据的 string 格式

Source code in wisecon\types\response_data.py
def to_string(
        self,
        chinese_column: Optional[bool] = False,
        **kwargs: Any
) -> str:
    """将数据转换为 string 格式

    Args:
        chinese_column: 是否将列名转换为中文
        **kwargs: 其他参数

    Returns:
        str: 数据的 string 格式
    """
    return self.to_frame(chinese_column).to_string(**kwargs)

to_sql

to_sql(
    name: str,
    con: Any,
    chinese_column: Optional[bool] = False,
    if_exists: Literal[
        "fail", "replace", "append"
    ] = "fail",
    index: Optional[bool] = True,
    **kwargs: Any
)

将数据存储至 Database 中

Parameters:

Name Type Description Default
name str

表名

required
con Any

数据库连接

required
chinese_column Optional[bool]

是否将列名转为中文

False
if_exists Literal['fail', 'replace', 'append']

如果表已存在,则采取的操作

'fail'
index Optional[bool]

是否将索引存储至数据库中

True
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def to_sql(
        self,
        name: str,
        con: Any,
        chinese_column: Optional[bool] = False,
        if_exists: Literal["fail", "replace", "append"] = "fail",
        index: Optional[bool] = True,
        **kwargs: Any,
):
    """将数据存储至 Database 中

    Args:
        name: 表名
        con: 数据库连接
        chinese_column: 是否将列名转为中文
        if_exists: 如果表已存在,则采取的操作
        index: 是否将索引存储至数据库中
        **kwargs: 其他参数
    """
    self.to_frame(chinese_column).to_sql(
        name=name, con=con, if_exists=if_exists,
        index=index, **kwargs)

to_duckdb

to_duckdb(
    database: str,
    name: str,
    chinese_column: Optional[bool] = False,
    if_exists: Literal[
        "fail", "replace", "append"
    ] = "replace",
    **kwargs: Any
)

将数据存储至 duckdb 数据库中

Parameters:

Name Type Description Default
database str

数据库文件路径

required
name str

表名

required
chinese_column Optional[bool]

是否将列名转为中文

False
if_exists Literal['fail', 'replace', 'append']

如果表存在,是否覆盖

'replace'
**kwargs Any

其他参数

{}
Source code in wisecon\types\response_data.py
def to_duckdb(
        self,
        database: str,
        name: str,
        chinese_column: Optional[bool] = False,
        if_exists: Literal["fail", "replace", "append"] = "replace",
        **kwargs: Any,
):
    """将数据存储至 duckdb 数据库中

    Args:
        database: 数据库文件路径
        name: 表名
        chinese_column: 是否将列名转为中文
        if_exists: 如果表存在,是否覆盖
        **kwargs: 其他参数
    """
    from sqlalchemy import create_engine

    df = self.to_frame(chinese_column)
    engine = create_engine(database, **kwargs)
    with engine.connect() as con:
        df.to_sql(name, con=con, if_exists=if_exists, index=False)