亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python如何實(shí)現(xiàn)讀取csv文件時(shí)忽略文件的編碼格式

 更新時(shí)間:2025年03月04日 15:01:06   作者:一晌小貪歡  
我們?cè)偃粘Wx取csv文件的時(shí)候經(jīng)常會(huì)發(fā)現(xiàn)csv文件的格式有多種,所以這篇文章為大家介紹了Python如何實(shí)現(xiàn)讀取csv文件時(shí)忽略文件的編碼格式吧

1、背景介紹

我們?cè)偃粘Wx取csv文件的時(shí)候經(jīng)常會(huì)發(fā)現(xiàn)csv文件的格式有多種,常見的有【UTF-8】\【GBK】\ 【ANSI】格式,我們?cè)僮x取的時(shí)候會(huì)加上encoding="xx"參數(shù),為了,方便我們可以使用 chardet.detect()檢測(cè)文件編碼。

  • 編碼檢測(cè):通過chardet自動(dòng)檢測(cè)文件編碼,確保正確讀取文件內(nèi)容。
  • 異常處理:對(duì)可能出現(xiàn)的編碼錯(cuò)誤進(jìn)行處理,提供備用的UTF-8編碼讀取方案。
  • CSV處理:使用標(biāo)準(zhǔn)庫csv模塊讀取并打印CSV文件內(nèi)容,包括表頭和數(shù)據(jù)行。

2、庫的安裝

用途安裝
csvcsv文件的讀寫內(nèi)置庫無需安裝

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']

②:調(diào)用detect_encoding函數(shù)獲取文件的編碼格式

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

    try:
        read_csv(file_path, encoding)
    except UnicodeDecodeError:
        # 如果檢測(cè)到的編碼格式讀取失敗,嘗試使用 UTF-8 編碼讀取
        try:
            read_csv(file_path, 'utf-8')
        except Exception as e:
            print(f"讀取文件時(shí)發(fā)生錯(cuò)誤: {e}")
    except Exception as e:
        print(f"讀取文件時(shí)發(fā)生錯(cuò)誤: {e}")
    

4、完整代碼

# -*- coding: UTF-8 -*-
'''
@Project :測(cè)試 
@File    :test2_read_csv.py
@IDE     :PyCharm 
@Author  :一晌小貪歡(278865463@qq.com)
@Date    :2025/3/1 21:40 
'''

import csv
import chardet


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


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(row)


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

    try:
        read_csv(file_path, encoding)
    except UnicodeDecodeError:
        # 如果檢測(cè)到的編碼格式讀取失敗,嘗試使用 UTF-8 編碼讀取
        try:
            read_csv(file_path, 'utf-8')
        except Exception as e:
            print(f"讀取文件時(shí)發(fā)生錯(cuò)誤: {e}")
    except Exception as e:
        print(f"讀取文件時(shí)發(fā)生錯(cuò)誤: {e}")


if __name__ == "__main__":
    main()

到此這篇關(guān)于Python如何實(shí)現(xiàn)讀取csv文件時(shí)忽略文件的編碼格式的文章就介紹到這了,更多相關(guān)Python讀取csv內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python使用?toml的實(shí)現(xiàn)

    python使用?toml的實(shí)現(xiàn)

    本文將結(jié)合實(shí)例代碼介紹python使用?toml的實(shí)現(xiàn),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • python基于遞歸解決背包問題詳解

    python基于遞歸解決背包問題詳解

    這篇文章主要介紹了python基于遞歸解決背包問題,遞歸是個(gè)好東西,任何具有遞歸性質(zhì)的問題通過函數(shù)遞歸調(diào)用會(huì)變得很簡(jiǎn)單。一個(gè)很復(fù)雜的問題,幾行代碼就能搞定,需要的朋友可以參考下
    2019-07-07
  • 如何利用Python合并兩張圖片

    如何利用Python合并兩張圖片

    在Python中可以使用PIL庫(Python Imaging Library)來合并兩張圖片,這篇文章主要給大家介紹了關(guān)于如何利用Python合并兩張圖片的相關(guān)資料,文中給了詳細(xì)的代碼示例,需要的朋友可以參考下
    2024-03-03
  • Python做圖像處理及視頻音頻文件分離和合成功能

    Python做圖像處理及視頻音頻文件分離和合成功能

    這篇文章主要介紹了Python做圖像處理及視頻音頻文件分離和合成功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • python matplotlib畫圖實(shí)例代碼分享

    python matplotlib畫圖實(shí)例代碼分享

    這篇文章主要介紹了python matplotlib畫圖實(shí)例代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2017-12-12
  • 在python3.5中使用OpenCV的實(shí)例講解

    在python3.5中使用OpenCV的實(shí)例講解

    下面小編就為大家分享一篇在python3.5中使用OpenCV的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • pandas.DataFrame.iloc的具體使用詳解

    pandas.DataFrame.iloc的具體使用詳解

    本文主要介紹了pandas.DataFrame.iloc的具體使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Pandas刪除數(shù)據(jù)的幾種情況(小結(jié))

    Pandas刪除數(shù)據(jù)的幾種情況(小結(jié))

    這篇文章主要介紹了Pandas刪除數(shù)據(jù)的幾種情況(小結(jié)),詳細(xì)的介紹了4種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python完全新手教程

    Python完全新手教程

    Python完全新手教程...
    2007-02-02
  • pymongo如何通過oplog獲取數(shù)據(jù)(mongodb)

    pymongo如何通過oplog獲取數(shù)據(jù)(mongodb)

    使用MongoDB的oplog(操作日志)進(jìn)行數(shù)據(jù)同步是高級(jí)的用法,主要用于復(fù)制和故障恢復(fù),這篇文章主要介紹了pymongo通過oplog獲取數(shù)據(jù)(mongodb),需要的朋友可以參考下
    2023-09-09

最新評(píng)論