Python如何实现读取csv文件时忽略文件的编码格式

2025-03-04 17:50

本文主要是介绍Python如何实现读取csv文件时忽略文件的编码格式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《Python如何实现读取csv文件时忽略文件的编码格式》我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,所以这篇文章为大家介绍了Python如何实现读取csv文件时忽略文件的编码格式...

1、背景介绍

我们再日常读取csv文件的时候经常会发现csv文件的格式有多种,常见的有【UTF-8】\【GBK】\ 【ANSI】格式,我们再读取的时候会加上encoding="xx"参数,为了,方便我们可以使用 chardet.detect()检测文件编码。

  • 编码检测:通过chardet自动检测文件编码,确保正确读取文件内容。
  • 异常处理:对可能出现的编码错误进行处理,提供备用的UTF-8编码读取方案。
  • CSV处理:使用标准库csv模块读取并打印CSV文件内容,包括表头和数据行。

2、库的安装

用途安装
csvcsv文件的读写内置库无需安装

3、核心代码

①:到的编码格式

def detect_encoding(file_path):
    with open(file_path, 'rb') as f:
         raw_data = f.read()
         result = chardet.detect(raw_data)
         return result['encoding']

②:调用detect_encoding函数获取文件的编码格式

def main():
    file_path = '新建XLSX 工作表.csv'
    encoding = detect_encoding(file_path)

    try:
        read_csv(file_path, encoding)
    except UnicodeDecodeError:
        # 如果检测到的编码格式读取失败,尝试使用 UTF-8 编码读取
        try:
            read_csv(file_path, 'utf-8')
        except Exception as e:
            print(f"读取文件时发生错误: {e}")
    except Exception as e:
        print(f"读取文件时发生错误: {e}")
    

4、完整代码

# -*- codhttp://www.chinasem.cning: UTF-8 -*-
'''
@Project :测试 
@File    :test2_read_csv.py
@IDE     :PyCharm 
@Autandroidhor  :一晌小贪欢(278865463@qq.com)
@Date    :2025/3/1 21:40 
'''

import csv
import chardet


def detect_encoding(file_path):
 js   with open(file_path, 'rb') as f:
        raw_data = f.read()
        result = chardet.detect(raw_data)
        return result['ejavascriptncoding']


def read_csv(file_path, encoding):
    with open(file_path, 'r', encoding=encoding) as f:
        reader = csv.reader(f)
        head = next(reader)
        print("表头", head)
        for row in reader:
            print(randroidow)


def main():
    file_path = '新建XLSX 工作表.csv'
    encoding = detect_encoding(file_path)

    try:
        read_csv(file_path, encoding)
    except UnicodeDecodeError:
        # 如果检测到的编码格式读取失败,尝试使用 UTF-8 编码读取
        try:
            read_csv(file_path, 'utf-8')
        except Exception as e:
            print(f"读取文件时发生错误: {e}")
    except Exception as e:
        print(f"读取文件时发生错误: {e}")


if __name__ == "__main__":
    main()

到此这篇关于python如何实现读取csv文件时忽略文件的编码格式的文章就介绍到这了,更多相关Python读取csv内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于Python如何实现读取csv文件时忽略文件的编码格式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153638

相关文章

Python Pillow 库详解文档(最新推荐)

《PythonPillow库详解文档(最新推荐)》Pillow是Python中最流行的图像处理库,它是PythonImagingLibrary(PIL)的现代分支和继承者,本文给大家介绍Pytho... 目录python Pillow 库详解文档简介安装核心模块架构Image 模块 - 核心图像处理基本导入

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

Python变量与数据类型全解析(最新整理)

《Python变量与数据类型全解析(最新整理)》文章介绍Python变量作为数据载体,命名需遵循字母数字下划线规则,不可数字开头,大小写敏感,避免关键字,本文给大家介绍Python变量与数据类型全解析... 目录1、变量变量命名规范python数据类型1、基本数据类型数值类型(Number):布尔类型(bo

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro