pandas讀取csv格式數(shù)據(jù)時header參數(shù)設(shè)置方法
寫在前面
使用pandas中read_csv讀取csv數(shù)據(jù)時,對于有表頭的數(shù)據(jù),將header設(shè)置為空(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官方文檔發(fā)現(xiàn),read_csv讀取時會自動識別表頭,數(shù)據(jù)有表頭時不能設(shè)置header為空(默認讀取第一行,即header=0);數(shù)據(jù)無表頭時,若不設(shè)置header,第一行數(shù)據(jù)會被視為表頭,應傳入names參數(shù)設(shè)置表頭名稱或設(shè)置header=None。
參考文檔
這是pandas的read_csv的官方文檔: python - pandas.read_csv
read_csv的header參數(shù)
使用pandas的read_csv讀取數(shù)據(jù)時,header參數(shù)表頭名稱設(shè)置(即各列數(shù)據(jù)對應名稱),下面是文檔中對header參數(shù)的說明:

其中指出,表頭可根據(jù)數(shù)據(jù)格式推斷各列名稱:默認情況下,
- 若未傳入
names參數(shù),則根據(jù)輸入文件的第一行推斷是否有表頭; - 若傳入
names參數(shù),則names傳入的參數(shù)作為表頭(原數(shù)據(jù)有表頭則會替換原有表頭)。
下面是對read_csv的header參數(shù)測試
header參數(shù)測試
測試數(shù)據(jù) 兩個csv(用逗號隔開)格式的文件,這里是用Excel打開,分別是帶有表頭和不帶表頭的數(shù)據(jù):


默認header 下面是header默認情況下,對有表頭的數(shù)據(jù)識別第一行作為header(即header=0)[ 數(shù)據(jù)沒有給出index名稱,這里設(shè)置 index_col=False,不設(shè)置默認第一列為index(而表頭仍是4列,最后一列數(shù)據(jù)為NaN), index_col參數(shù)與 header類似可自動識別。

設(shè)置header=None 對有表頭的數(shù)據(jù)設(shè)置 header=None則會報錯:


對無表頭的數(shù)據(jù),則需設(shè)置 header=None,否則第一行數(shù)據(jù)被作為表頭:

思考
pandas是如何識別或區(qū)分數(shù)據(jù)和表頭名稱的 ?
- 對于
index_col來說,若數(shù)據(jù)都是相同類型,比如數(shù)值型,則表示無index,輸出默認index為0,1,2,…;若數(shù)據(jù)第一列為字符,其他列為數(shù)值,則會將第一列視為index;若設(shè)置index_col=False, 則表示無index(默認將0, 1, 2,…作為數(shù)據(jù)的index) - 對
header,當?shù)谝恍袨樽址瑒t第一行默認為表頭;當?shù)谝恍信c其他數(shù)據(jù)類型相同時,也會把第一行當作表頭,所以無表頭時應設(shè)置header=None
header傳入list參數(shù)(元素代表取對應行號)怎么用?
read_csv的參數(shù)skip_blank_lines=True會忽略注釋行和空行,其中注釋行是用什么符號注釋的?(試了一下,行首用’#'注釋的不對)
到此這篇關(guān)于pandas讀取csv格式數(shù)據(jù)時header參數(shù)設(shè)置方法的文章就介紹到這了,更多相關(guān)pandas header參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 分析Nginx訪問日志并保存到MySQL數(shù)據(jù)庫實例
這篇文章主要介紹了Python 分析Nginx訪問日志并保存到MySQL數(shù)據(jù)庫實例,需要的朋友可以參考下2014-03-03
Python Django項目和應用的創(chuàng)建詳解
這篇文章主要為大家介紹了Python Django項目和應用的創(chuàng)建,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-11-11

