網站首頁 編程語言 正文
寫在前面
使用pandas中read_csv讀取csv數據時,對于有表頭的數據,將header設置為空(None),會報錯:pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2, saw 5
。
查看pandas官方文檔發現,read_csv
讀取時會自動識別表頭,數據有表頭時不能設置header為空(默認讀取第一行,即header=0
);數據無表頭時,若不設置header,第一行數據會被視為表頭,應傳入names
參數設置表頭名稱或設置header=None
。
參考文檔
這是pandas的read_csv的官方文檔: python - pandas.read_csv
read_csv的header參數
使用pandas的read_csv
讀取數據時,header
參數表頭名稱設置(即各列數據對應名稱),下面是文檔中對header參數的說明:
其中指出,表頭可根據數據格式推斷各列名稱:默認情況下,
- 若未傳入
names
參數,則根據輸入文件的第一行推斷是否有表頭; - 若傳入
names
參數,則names傳入的參數作為表頭(原數據有表頭則會替換原有表頭)。
下面是對read_csv
的header參數測試
header參數測試
測試數據 兩個csv(用逗號隔開)格式的文件,這里是用Excel打開,分別是帶有表頭和不帶表頭的數據:
默認header 下面是header默認情況下,對有表頭的數據識別第一行作為header(即header=0)[ 數據沒有給出index名稱,這里設置 index_col=False
,不設置默認第一列為index(而表頭仍是4列,最后一列數據為NaN), index_col
參數與 header
類似可自動識別。
設置header=None 對有表頭的數據設置 header=None
則會報錯:
?
對無表頭的數據,則需設置 header=None
,否則第一行數據被作為表頭:
思考
pandas是如何識別或區分數據和表頭名稱的 ?
- 對于
index_col
來說,若數據都是相同類型,比如數值型,則表示無index,輸出默認index為0,1,2,…;若數據第一列為字符,其他列為數值,則會將第一列視為index;若設置index_col=False
, 則表示無index(默認將0, 1, 2,…作為數據的index) - 對
header
,當第一行為字符,則第一行默認為表頭;當第一行與其他數據類型相同時,也會把第一行當作表頭,所以無表頭時應設置header=None
header傳入list參數(元素代表取對應行號)怎么用?
read_csv的參數skip_blank_lines=True
會忽略注釋行和空行,其中注釋行是用什么符號注釋的?(試了一下,行首用’#'注釋的不對)
原文鏈接:https://blog.csdn.net/sinat_32872729/article/details/93025161
相關推薦
- 2022-09-25 解決ERROR in Conflict: Multiple assets emit differen
- 2022-11-19 React實現多個場景下鼠標跟隨提示框詳解_React
- 2022-03-29 一篇文章帶你理解React?Props的?原理_React
- 2023-01-20 Python-with?open()?as?f的用法及說明_python
- 2023-02-01 Python動態演示旋轉矩陣的作用詳解_python
- 2023-01-09 Redis排序命令Sort深入解析_Redis
- 2022-06-13 matplotlib圖形整合之多個子圖繪制的實例代碼_python
- 2022-10-02 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同步修改后的遠程分支