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

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

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

替換后,分隔符為‘ | ’

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

