Pandas read_csv()函式

Suraj Joshi 2023年1月30日 2020年11月7日
  1. pandas.read_csv() 語法
  2. 示例程式碼:Pandas 使用 pandas.read_csv() 函式讀取 CSV 檔案
  3. 示例程式碼:在 pandas.read_csv() 函式中設定 usecols 引數
  4. 示例程式碼:帶有表頭的 pandas.read_csv() 函式
  5. 示例程式碼: 具有跳行的 pandas.read_csv() 函式
Pandas read_csv()函式

Pandas read_csv() 方法將指定的 CSV 檔案讀取到 DataFrame 中。

pandas.read_csv() 語法

pandas.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~ AnyStr]],
                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: str = '.', 
                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)

引數

filepath_or_buffer 要匯入的 CSV 檔案的位置
delimiter 用於解析 CSV 檔案內容的定界符
usecols 從 CSV 檔案中形成 DataFrame 時,只包含列名。
header 哪一行/幾行作為標題的列名
squeeze 如果解析的資料只包含一列,則返回 Pandas Series
skiprows 跳過哪一行/幾行

返回值

由帶有標籤軸的 CSV 檔案形成的 Dataframe。

示例程式碼:Pandas 使用 pandas.read_csv() 函式讀取 CSV 檔案

import pandas as pd
df = pd.read_csv("dataset.csv")
print(df)

輸出:

       Country      Item Type Sales Channel Order Priority
0       Tuvalu      Baby Food       Offline              H
1   East Timor           Meat        Online              L
2       Norway      Baby Food        Online              L
3     Portugal      Baby Food        Online              H
4     Honduras         Snacks        Online              L
5  New Zealand         Fruits        Online              H
6     Moldova   Personal Care        Online              L

該方法將 CSV 檔案載入到 DataFrame 中。在這裡,我們可以使用絕對路徑和相對路徑來提供一個檔案路徑作為 pandas.read_csv() 函式的引數。

在這種情況下,dataset.csv 與程式檔案在同一目錄下,這意味著可以使用 CSV 檔名作為檔案路徑。

示例程式碼:在 pandas.read_csv() 函式中設定 usecols 引數

import pandas as pd
df = pd.read_csv("dataset.csv",usecols=["Country","Sales Channel","Order Priority"])
print(df)

輸出:

       Country Sales Channel Order Priority
0       Tuvalu       Offline              H
1   East Timor        Online              L
2       Norway        Online              L
3     Portugal        Online              H
4     Honduras        Online              L
5  New Zealand        Online              H
6     Moldova         Online              L

該案例通過只在 usecols 引數中包含指定的列,將 CSV 檔案載入到 DataFrame 中。

CountrySales ChannelOrder Priority 這幾列只作為引數傳遞,所以它們只被包含在 DataFrame 中。

示例程式碼:帶有表頭的 pandas.read_csv() 函式

import pandas as pd
df = pd.read_csv("dataset.csv",header=1)
print(df)

輸出:

        Tuvalu      Baby Food Offline  H
0   East Timor           Meat  Online  L
1       Norway      Baby Food  Online  L
2     Portugal      Baby Food  Online  H
3     Honduras         Snacks  Online  L
4  New Zealand         Fruits  Online  H
5     Moldova   Personal Care  Online  L

該過程通過將第 1 行設定為 header,將 CSV 檔案載入到 DataFrame 中。

這裡,第 1 行元素作為整個 DataFrame 的列名。

示例程式碼: 具有跳行的 pandas.read_csv() 函式

import pandas as pd
df = pd.read_csv("dataset.csv",skiprows=3)
print(df)

輸出:

        Norway      Baby Food  Online  L
0     Portugal      Baby Food  Online  H
1     Honduras         Snacks  Online  L
2  New Zealand         Fruits  Online  H
3     Moldova   Personal Care  Online  L

這個過程通過跳過前 3 行將 CSV 檔案載入到 DataFrame 中。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相關文章 - Pandas Core