python第三方模块之chardet
2021/6/30 11:22:20
本文主要是介绍python第三方模块之chardet,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
安装
pip install chardet
pip 安装比较慢,可以参考 https://www.cnblogs.com/yunhgu/p/14749066.html 修改源就很很快了
如何使用
#! /usr/bin/env python # -*- coding: utf-8 -*-# # ------------------------------------------------------------------------------- # Name: demo # Author: yunhgu # Date: 2021/6/30 9:57 # Description: # ------------------------------------------------------------------------------- import chardet import time from chardet.universaldetector import UniversalDetector from functools import wraps def timethis(func): @wraps(func) def wrapper(*args, **kwargs): start = time.process_time() r = func(*args, **kwargs) end = time.process_time() print('{}.{} : {}'.format(func.__module__, func.__name__, end - start)) return r return wrapper @timethis def get_encoding(path): # 创建一个检测对象 detector = UniversalDetector() with open(path, "rb") as f: for line in f.readlines(): # 分块进行测试,直到达到阈值 detector.feed(line) if detector.done: break # 关闭检测对象 detector.close() # 输出检测结果 encoding = detector.result["encoding"] print(f"encoding : {encoding}") @timethis def get_encoding2(path): with open(path, "rb") as f: encoding = chardet.detect(f.read())["encoding"] print(f"encoding : {encoding}") if __name__ == '__main__': path = "42W-中文版(1).csv" get_encoding(path) get_encoding2(path)
上面的代码中函数2的用法是普通的用法,可以用于比较小的文件,而对于大文件的话用函数1的方法比较快,
下面是读取了含有42w条数据的文件的时间对比
这篇关于python第三方模块之chardet的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门