Hướng dẫn how do i convert a csv file to a dictionary in python? - làm cách nào để chuyển đổi tệp csv sang từ điển trong python?

Đối với các tệp CSV đơn giản, chẳng hạn như các tệp sau

id,col1,col2,col3
row1,r1c1,r1c2,r1c3
row2,r2c1,r2c2,r2c3
row3,r3c1,r3c2,r3c3
row4,r4c1,r4c2,r4c3

Bạn có thể chuyển đổi nó thành từ điển Python chỉ bằng cách sử dụng các bản dựng

with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}

Điều này sẽ mang lại từ điển sau

{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}

Lưu ý: Từ điển Python có các khóa duy nhất, vì vậy nếu tệp CSV của bạn đã trùng lặp ids, bạn nên nối mỗi hàng vào một danh sách.

for row in data:
    key, *values = row

    if key not in csv_dict:
            csv_dict[key] = []

    csv_dict[key].append[{key: value for key, value in zip[header, values]}]

  1. Csv.DicTreader [] đã trả về một loại đặt hàng cho mỗi hàng. Đó là lý do tại sao chúng tôi đã sử dụng Dict [] để chuyển đổi từng hàng thành một từ điển. Lưu ý rằng chúng tôi đã sử dụng rõ ràng phương thức Dict [] để tạo từ điển bên trong vòng lặp.
  2. Làm thế nào để
  3. Python làm thế nào

Chuyển đổi CSV thành từ điển trong Python

  1. Được tạo ra: Tháng 1-17, 2021 | Cập nhật:
  2. Sử dụng gấu trúc để chuyển đổi tệp CSV thành từ điển trong Python

Sử dụng mô -đun csv để chuyển đổi tệp CSV thành từ điển trong Python

Hướng dẫn này sẽ giới thiệu cách chuyển đổi tệp CSV thành từ điển trong Python trong đó tệp CSV chứa hai cột. Cột đầu tiên chứa các phím và cột thứ hai chứa các giá trị.

Trong hướng dẫn này, nội dung cho CSV mẫu được hiển thị bên dưới.

Được tạo ra: Tháng 1-17, 2021 | Cập nhật:

Sử dụng mô -đun csv để chuyển đổi tệp CSV thành từ điển trong Python

Hướng dẫn này sẽ giới thiệu cách chuyển đổi tệp CSV thành từ điển trong Python trong đó tệp CSV chứa hai cột. Cột đầu tiên chứa các phím và cột thứ hai chứa các giá trị.

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]

Output:

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

Sử dụng gấu trúc để chuyển đổi tệp CSV thành từ điển trong Python

Một cách khác để chuyển đổi tệp CSV thành từ điển Python là sử dụng mô -đun Pandas, chứa các công cụ thao tác dữ liệu cho các tệp CSV.

Sau khi nhập gấu trúc, hãy sử dụng chức năng tích hợp

with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}
5 với một vài tham số để chỉ định định dạng tệp CSV. Sau khi gọi
with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}
5, hãy chuyển đổi kết quả thành từ điển bằng cách sử dụng hàm gấu trúc tích hợp
with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}
7.

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]

Tham số

with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}
8 chỉ định rằng các tiêu đề được truyền hoặc khai báo rõ ràng bởi một tham số khác.

with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}
9 Chỉ định cột nào được sử dụng làm nhãn cho đối tượng
{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
0 rằng hàm
with open[csv_file] as f:
    csv_list = [[val.strip[] for val in r.split[","]] for r in f.readlines[]]

[_, *header], *data = csv_list
csv_dict = {}
for row in data:
    key, *values = row   
    csv_dict[key] = {key: value for key, value in zip[header, values]}
5 trả về. Trong trường hợp này, cột đầu tiên của Index
{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
2 là các nhãn.

Cuối cùng, tham số

{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
3 xác định nếu dữ liệu chỉ chứa một cột cho các giá trị. Trong trường hợp này, chỉ có một cột do cột đầu tiên được sử dụng làm cột chỉ mục hoặc nhãn.

Output:

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

Ghi chú

Nếu bạn gặp lỗi cho biết

{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
4, thì hãy đảm bảo rằng
{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
5 được cài đặt trong máy cục bộ của bạn bằng cách sử dụng
{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
6 hoặc
{'row1': {'col1': 'r1c1', 'col2': 'r1c2', 'col3': 'r1c3'},
 'row2': {'col1': 'r2c1', 'col2': 'r2c2', 'col3': 'r2c3'},
 'row3': {'col1': 'r3c1', 'col2': 'r3c2', 'col3': 'r3c3'},
 'row4': {'col1': 'r4c1', 'col2': 'r4c2', 'col3': 'r4c3'}}
7 nếu bạn đang chạy Python 3.

Bài viết liên quan - Python CSV

  • Python chia CSV thành nhiều tệp
  • So sánh hai tệp CSV và sự khác biệt in bằng cách sử dụng Python
  • Chuyển đổi XLSX sang tệp CSV trong Python
  • Viết danh sách vào các cột CSV trong Python

    Bài viết liên quan - Từ điển Python

  • Python chia CSV thành nhiều tệp
  • So sánh hai tệp CSV và sự khác biệt in bằng cách sử dụng Python
  • Chuyển đổi XLSX sang tệp CSV trong Python
  • Viết danh sách vào các cột CSV trong Python
  • Làm cách nào để biến một tệp thành một từ điển?

    Sử dụng str ...
    a_dictionary = {}.
    a_file = mở ["data.txt"].
    Đối với dòng trong a_file:.
    khóa, value = dòng. Chia [] Chia dòng thành một tuple ..
    a_dictionary [key] = value. Thêm giá trị tuple vào từ điển ..
    print[a_dictionary].

    Làm cách nào để chuyển đổi tệp CSV thành Python?

    Các bước để chuyển đổi tệp văn bản thành CSV bằng Python..
    Bước 1: Cài đặt gói Pandas. Nếu bạn chưa làm như vậy, hãy cài đặt gói Pandas. ....
    Bước 2: Chụp đường dẫn nơi lưu trữ tệp văn bản của bạn. ....
    Bước 3: Chỉ định đường dẫn nơi tệp CSV mới sẽ được lưu. ....
    Bước 4: Chuyển đổi tệp văn bản thành CSV bằng Python ..

    Làm cách nào để chuyển đổi danh sách thành một từ điển trong Python?

    Để chuyển đổi danh sách thành từ điển bằng cách sử dụng cùng một giá trị, bạn có thể sử dụng phương thức Dict.FromKeys [].Để chuyển đổi hai danh sách thành một từ điển, bạn có thể sử dụng hàm python zip [].Sự hiểu biết từ điển cho phép bạn tạo một từ điển mới dựa trên các giá trị của một danh sách.use the dict. fromkeys[] method. To convert two lists into one dictionary, you can use the Python zip[] function. The dictionary comprehension lets you create a new dictionary based on the values of a list.

    CSV Dictreader có trả lại từ điển không?

    Csv.DicTreader [] đã trả về một loại đặt hàng cho mỗi hàng.Đó là lý do tại sao chúng tôi đã sử dụng Dict [] để chuyển đổi từng hàng thành một từ điển.Lưu ý rằng chúng tôi đã sử dụng rõ ràng phương thức Dict [] để tạo từ điển bên trong vòng lặp. DictReader[] returned an OrderedDict type for each row. That's why we used dict[] to convert each row to a dictionary. Notice that we have explicitly used the dict[] method to create dictionaries inside the for loop.

    Bài Viết Liên Quan

    Chủ Đề