Python 中將 CSV 轉換為字典

Rayven Esplanada 2023年1月30日
  1. 在 Python 中使用 csv 模組把 CSV 檔案轉換為字典
  2. 在 Python 中使用 Pandas 把 CSV 檔案轉換為字典
Python 中將 CSV 轉換為字典

本教程將介紹如何在 Python 中把 csv 檔案轉換為字典,其中 csv 檔案包含兩列,第一列包含鍵,第二列包含值。

在本教程中,示例 CSV 的內容如下所示。

在 Python 中把 CSV 轉換成字典

第一列包含將被用作鍵的識別符號,第二列是值。

在 Python 中使用 csv 模組把 CSV 檔案轉換為字典

Python 有一個 csv 模組,它包含了各種實用函式來操作 CSV 檔案,如轉換、讀取、寫入和插入。要將 CSV 檔案轉換為字典,開啟 CSV 檔案,使用 csv 函式 reader() 將其讀入一個變數,將檔案儲存為一個 Python 物件。

之後,使用字典推導法,通過迭代 reader 物件並訪問其前兩行作為字典的鍵值對,將 CSV 物件轉換為字典。

import csv

dict_from_csv = {}

with open("csv_file.csv", mode="r") as inp:
    reader = csv.reader(inp)
    dict_from_csv = {rows[0]: rows[1] for rows in reader}

print(dict_from_csv)

輸出:

{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}

在 Python 中使用 Pandas 把 CSV 檔案轉換為字典

另一種將 CSV 檔案轉換為 Python 字典的方法是使用 Pandas 模組,它包含了 CSV 檔案的資料處理工具。

匯入 pandas 後,利用它內建的函式 read_csv() 和一些引數來指定 csv 檔案格式。呼叫 read_csv() 後,使用 pandas 內建函式 to_dict() 將結果轉換為字典。

import pandas as pd

dict_from_csv = pd.read_csv(
    "csv_file.csv", header=None, index_col=0, squeeze=True
).to_dict()
print(dict_from_csv)

header 引數指定標頭檔案是顯式傳遞或由其他引數宣告的。

index_col 指定哪一列被用作 read_csv() 函式返回的 DataFrame 物件的標籤。在本例中,索引 0 的第一列是標籤。

最後,squeeze 引數定義了資料是否只包含一列值。在這種情況下,只有一列,因為第一列被用作索引列或標籤。

輸出:

{'fruit': 'apple', 'vegetable': 'tomato', 'mammal': 'rabbit', 'fish': 'clownfish', 'bird': 'crow'}
注意
如果遇到 No module named 'pandas' 的錯誤,那麼請確認 pandas 已經安裝在你的本地機器上,使用 pip install pandas 或者 pip3 install pandas(如果執行的是 Python 3 的話)。
Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

相關文章 - Python CSV

相關文章 - Python Dictionary