HOWTO · Python
Python 中將 CSV 轉換為字典
它演示瞭如何在 Python 中把 csv 檔案轉換成字典。
本頁內容
本教程將介紹如何在 Python 中把 csv 檔案轉換為字典,其中 csv 檔案包含兩列,第一列包含鍵,第二列包含值。
在本教程中,示例 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 的話)。