python中pandas.read_csv()函數的深入講解

這裡將更新最新的最全面的read_csv()函數功能以及參數介紹,參考資料來源於官網。

pandas庫簡介

官方網站裡詳細說明瞭pandas庫的安裝以及使用方法,在這裡獲取最新的pandas庫信息,不過官網僅支持英文。

pandas是一個Python包,並且它提供快速,靈活和富有表現力的數據結構。這樣當我們處理”關系”或”標記”的數據(一維和二維數據結構)時既容易又直觀。

pandas是我們運用Python進行實際、真實數據分析的基礎,同時它是建立在NumPy之上的。

csv文件格式簡介

函數介紹

pandas.csv() 函數將逗號分離的值 (csv) 文件讀入數據框架。還支持可選地將文件讀入塊或將其分解。

函數原型

源文件

pandas.read_csv(filepath_or_buffer, sep=, delimiter=None, header=‘infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression=‘infer’, thousands=None, decimal=’.’, lineterminator=None, quotechar='”‘, quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None, storage_options=None

函數參數以及含義

輸入

參數名 功能以及含義
filepath_or_buffer 字符串。任何有效的字符串路徑都可以,網址也行。
sep 字符串,表示分隔符,默認為’,’ .。一個字符及以上都可以,註意如果是轉義字符要加”
delimiter 字符串,sep的別名,默認None
header int或者int列表,默認由推斷出來。這是用於規定列名的行號。
names 類似於數組結構,選擇性使用。這是要使用的列名稱列表,與header共同使用。
index_col 整數或者字符串或者整數/字符串列表。指定用作的行標簽的列。
usecols 列表,可用可不用。功能是返回列的子集。
squeeze 佈爾值,默認為False。如果解析的數據僅包含一列,則返回一個Series
prefix 字符串,選擇性使用。沒有標題時要添加到列號的前綴
mangle_dupe_cols 佈爾值,默認為True。重復的列將被指定為“ X”,“ X.1”,……“ X.N”,而不是“ X”……“ X”。如果列中的名稱重復,則False將導致數據被覆蓋。
dtype 類型名稱或者類型列的字典,選擇性使用。數據或列的數據類型。
engine {‘c’, ‘python’},選擇性使用。要使用的解析器引擎。C引擎速度更快,而python引擎當前功能更完善。
converters 字典,選擇性使用。轉換器,用於轉換某些列中的值的函數的字典。鍵可以是整數或列標簽。
true_value 列表,選擇性使用。視為True的值
false_values 列表,選擇性使用。視為False的值
skipinitialspace 佈爾值,默認為False。在定界符後跳過空格。
skiprows 列表或者整數,選擇性使用。在文件開始處要跳過的行號(索引為0)或要跳過的行數(整數)。
skipfooter 整數,默認為0。要跳過的文件底部的行數(不支持engine =‘c’)。
nrows 整數,選擇性使用。要讀取的文件行數。對於讀取大文件很有用。
na_values 標量,字符串,類似列表的字典,選擇性使用。識別為NA / NaN的其他字符串。如果dict通過,則為特定的每列NA值。默認情況下,以下值解釋為NaN:”,’#N / A’,’#N / AN / A’,’#NA’,’-1.#IND’,’-1.#QNAN’, ‘-NaN’,’-nan’,‘1.#IND’,‘1.#QNAN’,”,‘N / A’,‘NA’,‘NULL’,‘NaN’,‘n / a’,‘nan’,‘null’。
keep_default_na 佈爾值,默認為True。解析數據時是否包括默認的NaN值。
na_filter 佈爾值,默認為True。檢測缺失值標記(空字符串和na_values的值)。請註意,如果將na_filter傳遞為False,則將忽略keep_default_na和 na_values參數。
verbose 佈爾值,默認為False。指示放置在非數字列中的NA值的數量。
skip_blank_lines 佈爾值,默認為True。如果為True,跳過空白行,並且不解釋為NaN值。
parse_dates 佈爾值,整數列表,名稱列表,列表或字典的列表。默認為False。功能是解析為時間。
infer_datetimes_format 佈爾值,默認為False。如果啟用True和parse_dates,則pandas將嘗試推斷列中日期時間字符串的格式,並且如果可以推斷出日期格式,就會切換到更快的解析它們的方法。
keep_date_col 佈爾值,默認為False。如果True和parse_dates指定合並多個列,則保留原始列。
date_parser 函數,選擇性使用。用於將字符串列序列轉換為日期時間實例數組的函數。
dayfirst 佈爾值,默認為False。DD / MM格式的日期,國際和歐洲格式。
cache_dates 佈爾值,默認為True。如果為True,則使用唯一的轉換日期緩存來應用datetime轉換。
iterator 佈爾值,默認為False。返回TextFileReader對象以進行迭代或使用獲取塊 get_chunk()。
chunksize 整數,選擇性使用。返回TextFileReader對象以進行迭代。
compression {‘infer’, ‘gzip’, ‘bz2′, ‘zip’, ‘xz’, None},默認為’infer’。用於對磁盤數據進行即時解壓縮。設置為“無”將不進行解壓縮。
thousands 字符串,選擇性使用。千位分隔符。
decimal 字符串,默認為’.’。識別為小數點的字符(例如,對於歐洲數據,請使用“,”)。
lineterminator 長度為1的字符串,選擇性使用。用於將文件分成幾行的字符。僅對C解析器有效。
quotechar 長度為1的字符串,選擇性使用。用於表示引用項目的開始和結束的字符。
quoting 整數或者csv.QUOTE_* 實例,默認為0。每個csv.QUOTE_*常量的控制字段引用行為。使用QUOTE_MINIMAL(0),QUOTE_ALL(1),QUOTE_NONNUMERIC(2)或QUOTE_NONE(3)中的一種。
doublequote 佈爾值,默認為True。如果指定quotechar而未使用引號QUOTE_NONE,則指示是否將一個字段內的兩個連續的quotechar元素解釋為單個quotechar元素。
escapechar 長度為1的字符串,選擇性使用。 一字符字符串,用於轉義其他字符。
comment 字符串,選擇性使用。指示不應分析行的其餘部分。如果在一行的開頭找到該行,則將完全忽略該行。此參數必須是單個字符。
encoding 字符串,選擇性使用。讀/寫時用於UTF的編碼(例如’utf-8’)。
dialect 字符串或者csv.Dialect,選擇性使用。如果提供的話,該參數將覆蓋為以下參數的值(默認或不):delimiter, doublequote, escapechar, skipinitialspace, quotechar, and quoting。
error_bad_lines 佈爾值,默認為True。 默認情況下,具有太多字段的行(例如,帶有太多逗號的csv行)將引發異常,並且不會返回任何DataFrame。如果為False,則這些“壞行”將從返回的DataFrame中刪除。
warn_bad_lines 佈爾值,默認為True。如果error_bad_lines為False,而warn_bad_lines為True,則將為每個“壞行”輸出警告。
delim_whiterspace 佈爾值,默認為False。指定是否將空格(例如或)用作分隔符。
low_memory 佈爾值,默認為True。在內部對文件進行分塊處理,從而在解析時減少瞭內存使用。
memory_map 佈爾值,默認為False。如果為filepath_or_buffer提供瞭文件路徑,則將文件對象直接映射到內存中,然後直接從那裡訪問數據。使用此選項可以提高性能,因為不再有任何I / O開銷。
float_precision 字符串,選擇性使用。指定C引擎應將哪個轉換器用於浮點值。
storage_option 字典,選擇性使用。解析特殊的URL。如果為該參數提供非fsspec URL,則會引發錯誤。

返回

DataFrame:將逗號分隔值(csv)文件讀取到DataFrame中。

函數使用實例

終端使用范例:

>>>import pandas as pd
>>>pd.read_csv('data.csv')

代碼行使用范例

#導入pandas庫,並取別名為pd
import pandas as pd
#books.csv與項目不在同一文件夾下使用絕對路徑,分隔符為';',出錯的行直接跳過,編碼方式使用"latin-1",變量books是DataFrame數據結構
books = pd.read_csv('D:\coder\python_program\Books.csv', sep=';', error_bad_lines = False, encoding="latin-1")
#查看books的行和列
print(books.shape)
#查看
print(list(books.columns))
print(books.head())

總結

到此這篇關於python中pandas.read_csv()函數的文章就介紹到這瞭,更多相關python pandas.read_csv()函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: