Hướng dẫn read csv into dictionary python - đọc csv vào từ điển python

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

Show
    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)})
    

    import csv

    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
    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)}
    
    6
    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
    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
    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

  • & nbsp; Ví dụ 2: Tải CSV đến Từ điển & NBSP;
  • Các
  • import csv

    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
    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)}
    
    6
    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
    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
    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

    & nbsp; Ví dụ 2: Tải CSV đến Từ điển & NBSP; Working with csv files in Python 

    Các is a simple file format used to store tabular data, such as a spreadsheet or database. CSV file stores tabular data (numbers and text) in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas. The use of the comma as a field separator is the source of the name for this file format. CSV raw data is not utilizable in order to use that in our Python program it can be more beneficial if we could read and separate commas and store them in a data structure. We can convert data into lists or dictionaries or a combination of both either by using functions csv.reader and csv.dictreader or manually directly and in this article, we will see it with the help of code. 

    Ví dụ 1: Tải CSV vào Danh sách & NBSP; Loading CSV to list 

    Tệp CSV: & NBSP; 

    Hướng dẫn read csv into dictionary python - đọc csv vào từ điển python

    Tải dữ liệu CSV vào danh sách và từ điển

    Python3

    import csv

    filename="Geeks.csv"

    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)}
    
    0
    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)}
    
    1
    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)}
    
    2
    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)}
    
    3
    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)}
    
    4

    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
    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)}
    
    6
    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
    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
    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

    {'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
    {'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'}}
    
    1
    {'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

    Output:  

    Hướng dẫn read csv into dictionary python - đọc csv vào từ điển python

    Tải dữ liệu CSV vào danh sách và từ điển

    import csvExample 2: Loading CSV to dictionary 

    Python3

    import csv

    {'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="Geeks.csv"

    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
    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)}
    
    6
    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
    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
    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

    & nbsp; Ví dụ 2: Tải CSV đến Từ điển & NBSP;

    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)})
    
    8
    {'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'}}
    
    1
    {'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

    Output:  

    Hướng dẫn read csv into dictionary python - đọc csv vào từ điển python

    Tải dữ liệu CSV vào danh sách và từ điển

    import csvLoading CSV into list of Dictionaries

    Python3

    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
    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)}
    
    6
    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
    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
    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

    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)}
    
    0
    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)}
    
    1ids7ids8ids9
    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)}
    
    3import1

    & nbsp; Ví dụ 2: Tải CSV đến Từ điển & NBSP;

    Các

    import2

    {'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'}}
    
    1csv3

    Output:

    Hướng dẫn read csv into dictionary python - đọc csv vào từ điển python

    Tải dữ liệu CSV vào danh sách và từ điển