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!
推薦閱讀:
- Python pandas中read_csv參數示例詳解
- Python數據處理pandas讀寫操作IO工具CSV解析
- Python pandas讀取CSV文件的註意事項(適合新手)
- pandas刪除部分數據後重新生成索引的實現
- Python中的pandas表格模塊、文件模塊和數據庫模塊