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

學無先后,達者為師

網站首頁 編程語言 正文

pandas讀取csv格式數據時header參數設置方法_python

作者:喵小媛 ? 更新時間: 2022-04-12 編程語言

寫在前面

使用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參數的說明:

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

欄目分類
最近更新