other

langconv

Node

class dramkit.other.langconv.Node(from_word, to_word=None, is_tail=True, have_child=False)

Bases: object

is_follow(chars)
is_original_long_word()

ConvertMap

class dramkit.other.langconv.ConvertMap(name, mapping=None)

Bases: object

set_convert_map(mapping)

StatesMachineException

class dramkit.other.langconv.StatesMachineException

Bases: Exception

StatesMachine

class dramkit.other.langconv.StatesMachine

Bases: object

clone(pool)
feed(char, map)

Converter

class dramkit.other.langconv.Converter(to_encoding)

Bases: object

convert(string)
end()
feed(char)
get_result()
start()

registery

dramkit.other.langconv.registery(name, mapping)

run

dramkit.other.langconv.run()

othertools

Uncommonly used utility functions

traditional2simplified

dramkit.other.othertools.traditional2simplified(content)

simplified2traditional

dramkit.other.othertools.simplified2traditional(content)

简体转繁体

archive_data

dramkit.other.othertools.archive_data(df_new, df_old, sort_cols=None, ascending=True, del_dup_cols=None, del_dup_keep='last', sort_first=True, csv_path=None, csv_index=True, csv_encoding='utf-8', concat_axis=0)

合并df_new和df_old,再排序、去重、写入csv

get_csv_df_colmaxmin

dramkit.other.othertools.get_csv_df_colmaxmin(csv_path_df, col, skipna=True, return_data=True, ascending=None, **kwargs)

获取指定csv文件或df中指定列的最大值和最小值

Parameters:
  • csv_path_df (str, pandas.DataFrame) – csv数据文件路径或df

  • col (str) – 指定列名

  • skipna (bool) – 计算max和min的时候设置是否skipna

  • return_data (bool) – 为True时返回最大值、最小值和df数据,为False时不返回数据(替换为None)

  • ascending (None, bool) – 返回数据按col列排序: None不排序, True升序, False降序

  • **kwargsdramkit.iotools.load_csv() 函数接受的参数

Returns:

  • col_max – col列最大值

  • col_min – col列最小值

  • data (None, pandas.DataFrame) – 返回数据

load_text_multi

dramkit.other.othertools.load_text_multi(fpath, sep=',', encoding=None, del_first_col=False, del_last_col=False, del_first_line=False, to_pd=True, keep_header=True, logger=None)

读取可能存在多个表纵向排列,且每个表列数不相同的文件,读取出每个表格 (中金所持仓排名数据中存在这种情况)

Parameters:
  • fpath (str) – 文本文件路径

  • sep (str) – 字段分隔符,默认`,`

  • encoding (None, str) – 指定编码方式,为None时会尝试以uft-8和gbk编码读取

  • del_first_col (bool) – 是否删除首列,默认不删除

  • del_last_col (bool) – 是否删除最后一列,默认否

  • del_first_line (bool) –

    是否删除首行,默认不删除

    Note

    若del_first_line为True,则输出pandas.DataFrame没有列名

  • to_pd (bool) – 是否输出为pandas.DataFrame,默认是

  • keep_header (bool) – 输出为pandas.DataFrame时是否以首行作为列名,默认是

  • logger (logging.Logger, None) – 日志记录器

Returns:

list - 返回读取的数据列表,元素为pandas.DataFrame或list

install_pkg

dramkit.other.othertools.install_pkg(pkg_name, version=None, upgrade=False, ignore_exist=False, logger=None)

安装python库

Parameters:
  • pkg_name (str) – 库名称

  • version (安装版本) – 格式: ‘==0.1.4’|’>1.0’|’<2.0’

  • upgrade (bool) – 是否更新

  • ignore_exist (bool) – 是否忽略已安装的包(有时候已安装的包无法卸载导致不能安装, 设置为True强制安装)

  • logger (None, logging.Logger) – 日志记录器

Todo

更多安装选项设置,如是否跳过依赖包等

replace_endblank

replace_endblank_in_file

dramkit.other.replace_endblank.replace_endblank_in_file(fpath, func_new_path=None, logger=None, encoding=None, encoding_new='utf-8')

替换指定文本文件中每一行行尾部的空白,并存为新文件

Parameters:
  • fpath (str) – 待替换目标文本文件路径

  • func_new_path (function) – 新文件的名称由func_new_path函数给出,fpath_new = func_new_path(fpath)

  • logger (None, logging.Logger) – 日志记录器

  • encoding (None, str) – 原文件编码方式

  • encoding_new (str) – 新文件编码方式

zh_wiki