網站首頁 編程語言 正文
用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
相關推薦
- 2022-10-17 安卓開發之FragmentPagerAdapter和FragmentStatePagerAdapte
- 2022-11-27 關于HTTPS端口443的技術講解(什么是443端口)_服務器其它
- 2022-04-22 appium報錯:Original error: socket hang up
- 2022-12-25 C++?Boost?Accumulators累加器詳細講解_C 語言
- 2022-03-19 使用Docker部署Spring?Boot項目的實現步驟_docker
- 2022-07-15 VS2022?Git提交代碼的實現_C 語言
- 2022-06-17 Go實現線程池(工作池)的兩種方式實例詳解_Golang
- 2022-03-25 C語言設計模式之命令模式介紹_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支