日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

Python使用read_csv讀數據遇到分隔符問題的2種解決方式_python

作者:清三皮 ? 更新時間: 2022-09-19 編程語言

用read_csv讀數據遇到分隔符問題的兩種解決方式

import pandas as pd

1.更改read_csv函數中的傳參“sep”

1.1缺省sep參數

默認分隔符為‘,’

1.2不缺省sep參數

1.2.1要讀入的文檔中分隔符為一位字符

用單引號括起文本中的分隔符

例:sep = '|'

1.2.2要讀入的文檔中分隔符為多位字符

多位字符在python中被識別為正則式

此時可用為sep = ‘\s+’(不論多位分隔符有什么組成,比如幾個空格、\r\t)

此時,python將用自己的語法分析器來對多位字符進行識別

2.利用記事本功能進行分隔符替換

因為自己在編程的時候用正則表達式出現了一些問題,故找到了另一種更改文本中分隔符,以便于設定sep參數的方法,現記錄如下。

2.1利用txt中的“編輯”—>“替換”操作

當前分隔符為‘,’

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

替換后,分隔符為‘ | ’

2.2小tips

選擇分隔符的時候有可能面臨

“這么大空擋是幾個空格?”

“這個逗號是中文的還是英文的?”

所以建議直接用鼠標拉著兩個數據之間的分割區域,復制,然后粘貼填入要替換的框中。(像我這種手殘眼花的人就喜歡這種方式。。。)

補充:Python read_csv 報錯:‘gbk‘ codec can‘t decode byte 0xb4 in position 8: illegal multibyte sequence

在我們使用pandas.read_csv()讀取文件時 經常會遇到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.打開記事本之后,在右下角可以看到文件的默認編碼格式為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" 試試看

總結

原文鏈接:https://blog.csdn.net/weixin_50294842/article/details/122930229

欄目分類
最近更新