wordmarker.templates package¶
- 作者
陈思祥
- 时间
2021年4月
- 概述
当前模块是WordMarker的核心模块,可以读写csv文件,操纵数据库,读写docx文件等。
wordmarker.templates.pdbc_template
操纵数据库的模板。
wordmarker.templates.csv_template
读写csv文件的模板。
wordmarker.templates.word_template
读写docx文件的模板。
Submodules¶
wordmarker.templates.csv_template module¶
- class CsvHelper(*args, **kwargs)[源代码]¶
基类:
wordmarker.loaders.default_resource_loader.DefaultResourceLoader
,wordmarker.contexts.system_context.SystemContext
通过读取配置文件,获取csv文件的相关信息
- class CsvTemplate(*args, **kwargs)[源代码]¶
基类:
wordmarker.templates.csv_template.CsvOperations
,wordmarker.templates.csv_template.CsvHelper
操作csv文件的模板
- csv_to_df(sep=<object object>, delimiter=None, header='infer', names=None, index_col=0, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal: str = '.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options: Optional[Dict[str, Any]] = None) → Union[pandas.io.parsers.TextFileReader, pandas.core.series.Series, pandas.core.frame.DataFrame, None, Dict[str, Optional[Union[pandas.io.parsers.TextFileReader, pandas.core.series.Series, pandas.core.frame.DataFrame]]]][源代码]¶
注解
从yaml配置中读取csv文件,转换为
pandas
的DataFrame
小技巧
csv_to_df的参数详情 , 请访问 pandas官网 ,了解更多信息
- 返回
多个csv文件,返回一个
DataFrame
的字典key为文件名
value为
DataFrame
一个csv文件,返回一个
DataFrame
- df_to_csv(data_dict: Dict[str, pandas.core.frame.DataFrame], sep: str = ',', na_rep: str = '', float_format: Optional[str] = None, columns: Optional[Sequence[Optional[Hashable]]] = None, header: Union[bool, List[str]] = True, index: bool = True, index_label: Union[Hashable, None, Sequence[Optional[Hashable]]] = None, mode: str = 'w', encoding: Optional[str] = None, compression: Optional[Union[str, Dict[str, Any]]] = 'infer', quoting: Optional[int] = None, quotechar: str = '"', line_terminator: Optional[str] = None, chunksize: Optional[int] = None, date_format: Optional[str] = None, doublequote: bool = True, escapechar: Optional[str] = None, decimal: str = '.', errors: str = 'strict', storage_options: Optional[Dict[str, Any]] = None)[源代码]¶
注解
将一个或多个
DataFrame
转换成csv文件,输出到指定文件夹小技巧
df_to_csv的参数详情 , 请访问 pandas官网 ,了解更多信息
- 参数
data_dict – 由
DataFrame
组成的字典,key为输出的文件名,value为DataFrame
wordmarker.templates.pdbc_template module¶
- class PdbcHelper(*args, **kwargs)[源代码]¶
基类:
object
通过读取配置文件获取数据库的信息,进而建立连接
- property engine: sqlalchemy.engine.base.Engine¶
注解
获取引擎对象
- 返回
引擎对象engine
- property engine_dict¶
注解
获取引擎对象中设置的值
- 返回
引擎对象中设置的值
key为属性
value为对应的值
- class PdbcTemplate(*args, **kwargs)[源代码]¶
基类:
wordmarker.templates.pdbc_template.PdbcOperations
,wordmarker.templates.pdbc_template.PdbcHelper
,wordmarker.data.formatter.SqlFormatter
操作数据库的模板
- execute(sql, *args, **kwargs)[源代码]¶
注解
使用sqlalchemy中的方法执行sql,建议sql类型为DDL(数据定义语言)时候使用
小技巧
如果sql为
select
,建议使用query方法如果sql为
update
,delete
,insert
,建议使用update方法- 参数
sql – sql语句
- query(sql, *args) → Union[pandas.core.frame.DataFrame, Iterator[pandas.core.frame.DataFrame]][源代码]¶
注解
查询数据库
- 参数
sql – sql语句
args – 问号对应的值
- 返回
查询的数据
- query_table(table_name, schema=None, index_col=None, coerce_float=True, parse_dates=None, columns=None, chunksize: Optional[int] = None) → Union[pandas.core.frame.DataFrame, Iterator[pandas.core.frame.DataFrame]][源代码]¶
注解
使用
pandas.read_sql_table
方法,读取整张表的数据小技巧
query_table的参数详情 , 请访问 pandas官网 ,了解更多信息
- 返回
查询的数据
- update_table(data: pandas.core.frame.DataFrame, name: str, schema=None, if_exists: str = 'replace', index: bool = False, index_label=None, chunksize=None, dtype=None, method=None)[源代码]¶
注解
使用
pandas.to_sql
方法,将数据写入数据库中的一张表中小技巧
update_table的参数详情 , 请访问 pandas官网 ,了解更多信息
- 参数
data – 数据框
wordmarker.templates.word_template module¶
- class AbstractConverter(word_tpl: wordmarker.templates.word_template.WordTemplate)[源代码]¶
基类:
object
此类是用来实现的,可以将yaml模板中的插值进行转换 定义的方法可以为@staticmethod修饰的方法,不能有任何参数,也可以为由self一个参数构成的方法
- class DocxHelper(*args, **kwargs)[源代码]¶
基类:
wordmarker.loaders.default_resource_loader.DefaultResourceLoader
通过读取配置文件,获取docx文件模板的相关信息
- property docx¶
注解
获取docx文件的绝对路径
- 返回
yaml文件中
data.docx.input.path
是目录,返回当前目录下docx文件的绝对路径yaml文件中
data.docx.input.path
是文件,返回docx文件的绝对路径
- property docx_in_path¶
注解
通过读取yaml文件的
data.docx.input.path
属性,获取输入的docx文件或目录的绝对路径- 返回
docx文件或目录的绝对路径
- property docx_out_path¶
注解
通过读取yaml文件的
data.docx.output.dir
属性,获取输出的docx目录的绝对路径- 返回
docx目录的绝对路径
- class ImgHelper(*args, **kwargs)[源代码]¶
基类:
wordmarker.contexts.system_context.SystemContext
通过读取配置文件,获取img文件的相关信息
- get_img_file(img_name)[源代码]¶
注解
根据图片的名字,获取图片的绝对路径
警告
必须先将图片输出到输出目录下,才能获取到
- 参数
img_name – 图片的名字
- 返回
图片的绝对路径
- property img_out_path¶
注解
通过读取yaml文件的
data.img.output.dir
属性,获取输出的img目录的绝对路径- 返回
img目录的绝对路径
- class TextHelper(*args, **kwargs)[源代码]¶
基类:
object
通过读取配置文件,获取文本yaml文件的相关信息
- get_value(prop)[源代码]¶
注解
从yaml字典中,根据属性获取对应的值
加载多个yaml文件,排在后面的文件里的值,会覆盖前面的文件里的值
- 参数
prop – 属性,用
.
分隔,例如,pdbc.engine.url
- 返回
yaml字典中对应的值
- get_yaml() → dict[源代码]¶
注解
获取从yaml文件中读取的数据,类型为dict
- 返回
path为文件,返回一个字典,内容为yaml文件的内容
path为目录,返回一个嵌套的字典
key为yaml文件的绝对路径
value为yaml文件的内容,是一个字典
- get_yaml_singleton()[源代码]¶
注解
获取从
data.text.input.path
属性中对应的路径下所有yaml文件中的数据,类型为dict加载多个yaml文件,排在后面的文件里的值,会覆盖前面的文件里的值
- 返回
返回一个字典,内容为所有yaml文件的内容
- get_yaml_singleton_str()[源代码]¶
注解
获取从
data.text.input.path
属性中对应的路径下所有yaml文件中的数据,类型为str,内容为一个字典加载多个yaml文件,排在后面的文件里的值,会覆盖前面的文件里的值
- 返回
返回一个字符串,内容为一个字典,内容为所有yaml文件的内容
- property text_in_path¶
注解
通过读取yaml文件的
data.text.input.path
属性,获取输入的文本yaml文件的绝对路径- 返回
文本yaml文件的绝对路径
- class WordTemplate(*args, **kwargs)[源代码]¶
基类:
wordmarker.creatives.builder.AbstractBuilder
,wordmarker.templates.word_template.TextHelper
,wordmarker.templates.word_template.ImgHelper
,wordmarker.templates.word_template.DocxHelper
操作docx文件的模板
- property tpl¶
注解
获取
DocxTemplate
对象,小技巧
DocxTemplate
对象的详细信息,请访问 python-docx-template的文档- 返回
DocxTemplate
对象