file.py is aimed to provide some file io utils. Particularly, this sub-module mainly serve for stats sub-moudule, web sub-module and dl_torch sub-module.
generated by cahtGPT
def read_text(path:str, decode:str = 'utf-8', way:str = 'lines') -> list or str or dict:
读取指定路径的文本文件的内容。
参数:
- path
(str):要读取的文本文件的路径。
- decode
(str, 可选):要使用的解码格式。默认为 'utf-8'。
- way
(str, 可选):读取文件的方式。默认为 'lines'。
可能的取值:
- 'lines':返回文件中的行列表。
- 'str':将整个文件内容作为字符串返回。
- 'json':将文件内容作为JSON对象返回。
返回值:
- list or str or dict:根据指定的 way
参数返回文件的内容。
def detect_byte_coding(bits:bytes) -> str:
检测给定字节序列的字节编码,并相应地解码。
参数:
- bits
(bytes):要解码的字节序列。
返回值:
- str:解码后的字符串。
def get_byte_coding(bits:bytes, max_detect_len = 1000) -> str:
给定一个字节对象 bits
和一个可选的整数 max_detect_len
,该函数使用 chardet 模块检测字节字符串 bits
的编码。它返回表示字节字符串检测到的编码的字符串。如果给定了 max_detect_len
,它将限制 chardet 分析编码检测的字节数。
参数:
- bits
(bytes):要检测编码的字节对象。
- max_detect_len
(int, 可选):限制 chardet 分析编码检测的字节数。
返回值:
- str:表示字节字符串检测到的编码的字符串。
def decode_bits_to_str(bits:bytes) -> str:
将字节对象解码为字符串,使用 GB2312 或 utf-8 编码。
参数:
- bits
(bytes):要解码的字节对象。
返回值:
- str:解码后的字符串。
def save_json(path:str, obj, encoding:str = 'utf-8', forceUpdate = True) -> None:
将 Python 对象保存为位于 path
的 JSON 文件。如果文件不存在或 forceUpdate
为 True
,它将用提供的对象覆盖现有文件。可以使用 encoding
参数指定文件的编码(默认为 'utf-8')。
参数:
- path
(str):保存 JSON 对象的文件路径。
- obj
:要保存为 JSON 文件的 Python 对象。
- encoding
(str):文件的编码(默认为 'utf-8')。
- forceUpdate
(bool):如果文件已存在,是否覆盖文件(默认为 True)。
返回值:
- None
def read_json(path:str, encoding:str = 'utf-8', invalidPathReturn = None) -> dict or list or None:
给定 JSON 文件的路径,读取其内容并返回解析后的 JSON 对象。
参数:
- path
(str):JSON 文件的路径。
- encoding
(str):文件的编码。默认为 'utf-8'。
- invalidPathReturn
:文件路径无效时返回的值。默认为 None。
返回值:
- dict or list or None:如果文件存在,则返回解析后的 JSON 对象;否则返回 invalidPathReturn
。
def save_excel(path:str, obj:list[list[str]], columns:list[str], encoding:str = 'utf-8', forceUpdate = True) -> None:
将一个列表的列表保存为指定路径的 Excel 文件。
参数:
- path
(str):保存 Excel 文件的路径。
- obj
(list[list[str]]):要保存为 Excel 文件的列表的列表。
- columns
(list[str]):表示列名的字符串列表。
- encoding
(str):保存 Excel 文件时使用的编码。默认为 'utf-8'。
- forceUpdate
(bool):如果文件已存在,是否更新 Excel 文件。默认为 True。
返回值:
- None
def read_excel(path:str, ignoreHead:bool = True, ignoreFirstCol:bool = True, invalidPathReturn = None) -> pandas.DataFrame:
读取位于指定路径的 Excel 文件,并返回一个 pandas DataFrame 对象。
参数:
- path
(str):Excel 文件的路径。
- ignoreHead
(bool, 可选):是否忽略文件的第一行。默认为 True。
- ignoreFirstCol
(bool, 可选):是否忽略文件的第一列。默认为 True。
- invalidPathReturn
:路径无效时返回的对象。默认为 None。
返回值:
- pandas.DataFrame:包含 Excel 文件数据的 DataFrame 对象,如果路径无效,则返回 invalidPathReturn
。
def write_sheets(path:str, sheets:dict[str, pd.DataFrame]) -> None:
将多个 pandas DataFrame 写入具有多个工作表的 Excel 文件。
参数:
- path
(str):Excel 文件的路径。
- sheets
(dict[str, pd.DataFrame]):字典,其中键是表示工作表名称的字符串,值是要写入工作表的 pandas DataFrame。
返回值:
- None
def update_excel(path:str, sheets:dict[str, pd.DataFrame] = None) -> dict[str, pd.DataFrame] or None:
更新 Excel 文件中的数据。
参数:
- path
(str):Excel 文件的文件路径。
- sheets
(dict[str, pd.DataFrame], 可选):包含工作表名称和相应的 pandas DataFrame 的字典,用于写入 Excel 文件。默认为 None。
返回值:
- 如果找到 Excel 文件,则返回包含 Excel 文件中工作表的 pandas DataFrame 的字典。如果找不到 Excel 文件,则返回 None。
无