Python使用read_csv讀數(shù)據(jù)遇到分隔符問(wèn)題的2種解決方式
用read_csv讀數(shù)據(jù)遇到分隔符問(wèn)題的兩種解決方式
import pandas as pd
1.更改read_csv函數(shù)中的傳參“sep”
1.1缺省sep參數(shù)
默認(rèn)分隔符為‘,’
1.2不缺省sep參數(shù)
1.2.1要讀入的文檔中分隔符為一位字符
用單引號(hào)括起文本中的分隔符
例:sep = '|'
1.2.2要讀入的文檔中分隔符為多位字符
多位字符在python中被識(shí)別為正則式
此時(shí)可用為sep = ‘\s+’(不論多位分隔符有什么組成,比如幾個(gè)空格、\r\t)
此時(shí),python將用自己的語(yǔ)法分析器來(lái)對(duì)多位字符進(jìn)行識(shí)別
2.利用記事本功能進(jìn)行分隔符替換
因?yàn)樽约涸诰幊痰臅r(shí)候用正則表達(dá)式出現(xiàn)了一些問(wèn)題,故找到了另一種更改文本中分隔符,以便于設(shè)定sep參數(shù)的方法,現(xiàn)記錄如下。
2.1利用txt中的“編輯”—>“替換”操作

當(dāng)前分隔符為‘,’

替換為‘ | ’,并單擊全部替換

替換后,分隔符為‘ | ’

2.2小tips
選擇分隔符的時(shí)候有可能面臨
“這么大空擋是幾個(gè)空格?”
“這個(gè)逗號(hào)是中文的還是英文的?”
…
所以建議直接用鼠標(biāo)拉著兩個(gè)數(shù)據(jù)之間的分割區(qū)域,復(fù)制,然后粘貼填入要替換的框中。(像我這種手殘眼花的人就喜歡這種方式。。。)
補(bǔ)充:Python read_csv 報(bào)錯(cuò):‘gbk‘ codec can‘t decode byte 0xb4 in position 8: illegal multibyte sequence
在我們使用pandas.read_csv()讀取文件時(shí) 經(jīng)常會(huì)遇到UnicodeDecodeError 的錯(cuò)誤
我遇到的主要有兩種:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb4 in position 8: illegal multibyte sequence
或者
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte
嘗試過(guò)改encoding="gbk",encoding="utf-8"或者GB2312、gbk、ISO-8859-1的方法,有時(shí)候能夠起效果,有時(shí)候不行
介紹一種最有效的方法:??????
1.找到csv文件–>右鍵–>打開(kāi)方式–>記事本
2.打開(kāi)記事本之后,在右下角可以看到文件的默認(rèn)編碼格式為ANSI,選擇頭部菜單的“文件–>另存為”,
3.選擇編碼下拉框,選擇需要的編碼格式UTF-8,重新保存即可
4.使用 read_csv('./test.csv', encoding="utf-8") 即可
下面我遇到過(guò)錯(cuò)誤可以嘗試的解決辦法如下(推薦使用上面的,下面的有時(shí)候也不行):
1. csvdata = pd.read_csv(file, keep_default_na=False, encoding="gbk")
報(bào)錯(cuò):
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb4 in position 8: illegal multibyte sequence
解決:將 encoding="gbk" 改為encoding="utf-8" 或者刪掉
2. csvdata = pd.read_csv(file, keep_default_na=False)
報(bào)錯(cuò):
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: invalid start byte
解決:加上 encoding="gbk" 試試看
總結(jié)
到此這篇關(guān)于Python使用read_csv讀數(shù)據(jù)遇到分隔符問(wèn)題的2種解決方式的文章就介紹到這了,更多相關(guān)Python read_csv讀數(shù)據(jù)分隔符問(wèn)題內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python json格式化打印實(shí)現(xiàn)過(guò)程解析
這篇文章主要介紹了Python json格式化打印實(shí)現(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
解決tf.keras.models.load_model加載模型報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決tf.keras.models.load_model加載模型報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
Python實(shí)現(xiàn)線程狀態(tài)監(jiān)測(cè)簡(jiǎn)單示例
這篇文章主要介紹了Python實(shí)現(xiàn)線程狀態(tài)監(jiān)測(cè),結(jié)合簡(jiǎn)單實(shí)例形式分析了Python線程start啟動(dòng)、sleep推遲運(yùn)行、isAlive判斷等方法使用技巧,需要的朋友可以參考下2018-03-03
Python Pandas實(shí)現(xiàn)DataFrame合并的圖文教程
我們?cè)谑褂胮andas處理數(shù)據(jù)的時(shí)候,往往會(huì)需要合并兩個(gè)或者多個(gè)DataFrame的操作,下面這篇文章主要給大家介紹了關(guān)于Pandas實(shí)現(xiàn)DataFrame合并的相關(guān)資料,需要的朋友可以參考下2022-07-07
python 進(jìn)程 進(jìn)程池 進(jìn)程間通信實(shí)現(xiàn)解析
這篇文章主要介紹了python 進(jìn)程 進(jìn)程池 進(jìn)程間通信實(shí)現(xiàn)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
python切片(獲取一個(gè)子列表(數(shù)組))詳解
這篇文章主要介紹了python切片(獲取一個(gè)子列表(數(shù)組))詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
numpy中的norm()函數(shù)求范數(shù)實(shí)例
這篇文章主要介紹了numpy中的norm()函數(shù)求范數(shù)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02

