Hướng dẫn how do i save a dictionary in python? - làm cách nào để lưu từ điển trong python?

216

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có vấn đề với việc thay đổi giá trị dict và lưu dict cho một tệp văn bản [định dạng phải giống nhau], tôi chỉ muốn thay đổi trường

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
0.

Tệp văn bản của tôi là định dạng sau:

memberID:member_name:member_email:member_phone

Và tôi chia tệp văn bản với:

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e

Khi tôi cố gắng thay đổi

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
0 được lưu trữ trong
def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
2, giá trị đã thay đổi không chảy bằng khóa,

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']

Và làm thế nào để lưu dict cho một tệp văn bản có cùng định dạng?

Martineau

Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges

Đã hỏi ngày 5 tháng 10 năm 2013 lúc 18:34Oct 5, 2013 at 18:34

Python có mô -đun dưa chua chỉ cho loại điều này.

Các chức năng này là tất cả những gì bạn cần để lưu và tải hầu hết mọi đối tượng:

with open['saved_dictionary.pkl', 'wb'] as f:
    pickle.dump[dictionary, f]
        
with open['saved_dictionary.pkl', 'rb'] as f:
    loaded_dict = pickle.load[f]

Để lưu bộ sưu tập Python, có mô -đun kệ.

Đã trả lời ngày 5 tháng 10 năm 2013 lúc 18:50Oct 5, 2013 at 18:50

ZahzahZah

5,8331 Huy hiệu vàng21 Huy hiệu bạc34 Huy hiệu đồng1 gold badge21 silver badges34 bronze badges

5

Pickle có lẽ là lựa chọn tốt nhất, nhưng trong trường hợp mọi người tự hỏi làm thế nào để lưu và tải từ điển vào một tệp bằng cách sử dụng Numpy:

import numpy as np

# Save
dictionary = {'hello':'world'}
np.save['my_file.npy', dictionary] 

# Load
read_dictionary = np.load['my_file.npy',allow_pickle='TRUE'].item[]
print[read_dictionary['hello']] # displays "world"

FYI: Trình xem tệp NPY

10xAI

1551 Huy hiệu bạc7 Huy hiệu đồng1 silver badge7 bronze badges

Đã trả lời ngày 26 tháng 8 năm 2015 lúc 0:05Aug 26, 2015 at 0:05

8

Chúng tôi cũng có thể sử dụng mô -đun

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
3 trong trường hợp khi từ điển hoặc một số dữ liệu khác có thể dễ dàng được ánh xạ tới định dạng JSON. in the case when dictionaries or some other data can be easily mapped to JSON format.

import json

# Serialize data into file:
json.dump[ data, open[ "file_name.json", 'w' ] ]

# Read data from file:
data = json.load[ open[ "file_name.json" ] ]

Giải pháp này mang lại nhiều lợi ích, ví dụ như hoạt động cho Python 2.x và Python 3.x ở dạng không thay đổi và ngoài ra, dữ liệu được lưu ở định dạng JSON có thể dễ dàng chuyển giữa nhiều nền tảng hoặc chương trình khác nhau. Dữ liệu này cũng có thể đọc được con người., eg works for Python 2.x and Python 3.x in an unchanged form and in addition, data saved in JSON format can be easily transferred between many different platforms or programs. This data are also human-readable.

Đã trả lời ngày 11 tháng 3 năm 2019 lúc 19:59Mar 11, 2019 at 19:59

Simhumilecosimhumilecosimhumileco

28.7K16 Huy hiệu vàng126 Huy hiệu bạc106 Huy hiệu đồng16 gold badges126 silver badges106 bronze badges

2

Lưu và tải Dict vào Tệp:

def save_dict_to_file[dic]:
    f = open['dict.txt','w']
    f.write[str[dic]]
    f.close[]

def load_dict_from_file[]:
    f = open['dict.txt','r']
    data=f.read[]
    f.close[]
    return eval[data]

Đã trả lời ngày 27 tháng 8 năm 2018 lúc 17:57Aug 27, 2018 at 17:57

JungleJetJungleJetjunglejet

2372 Huy hiệu bạc2 Huy hiệu đồng2 silver badges2 bronze badges

Vì Pickle có một số mối quan tâm về bảo mật và chậm [nguồn], tôi sẽ đi cho JSON, vì nó nhanh, tích hợp, có thể đọc được và có thể thay thế cho con người:

import json
data = {'another_dict': {'a': 0, 'b': 1}, 'a_list': [0, 1, 2, 3]}
# e.g. file = './data.json' 
with open[file, 'w'] as f: 
    json.dump[data, f]

Đọc là tương tự dễ dàng:

with open[file, 'r'] as f:
    data = json.load[f]

Điều này tương tự như câu trả lời này, nhưng thực hiện xử lý tệp một cách chính xác.

Nếu việc cải thiện hiệu suất vẫn chưa đủ, tôi thực sự khuyên bạn nên

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
4, thư viện JSON nhanh, chính xác cho Python xây dựng khi bị rỉ sét.

Đã trả lời ngày 14 tháng 10 năm 2020 lúc 14:19Oct 14, 2020 at 14:19

Michael Dornermichael DornerMichael Dorner

15.3k11 Huy hiệu vàng77 Huy hiệu bạc107 Huy hiệu đồng11 gold badges77 silver badges107 bronze badges

2

Tôi không chắc câu hỏi đầu tiên của bạn là gì, nhưng nếu bạn muốn lưu từ điển vào tệp, bạn nên sử dụng thư viện

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
3. Tra cứu tài liệu về tải và đặt các chức năng.

Francesco Boi

7.54412 Huy hiệu vàng69 Huy hiệu bạc109 Huy hiệu đồng12 gold badges69 silver badges109 bronze badges

Đã trả lời ngày 5 tháng 10 năm 2013 lúc 18:43Oct 5, 2013 at 18:43

JohnjohnJohn

5613 Huy hiệu bạc10 Huy hiệu đồng3 silver badges10 bronze badges

3

Tôi sẽ khuyên bạn nên lưu dữ liệu của bạn bằng định dạng JSON thay vì định dạng Pickle vì các tệp của JSON có thể đọc được, điều này giúp cho việc gỡ lỗi của bạn dễ dàng hơn vì dữ liệu của bạn nhỏ. Các tệp JSON cũng được sử dụng bởi các chương trình khác để đọc và ghi dữ liệu. Bạn có thể đọc thêm về nó ở đây

Bạn sẽ cần cài đặt mô -đun JSON, bạn có thể làm như vậy với PIP:

pip install json


# To save the dictionary into a file:
json.dump[ data, open[ "myfile.json", 'w' ] ]

Điều này tạo ra một tệp JSON với tên MyFile.

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
0

Điều này đọc và lưu trữ dữ liệu myfile.json trong một đối tượng dữ liệu.

blueseal

2.4656 Huy hiệu vàng26 Huy hiệu bạc40 Huy hiệu đồng6 gold badges26 silver badges40 bronze badges

Đã trả lời ngày 17 tháng 11 năm 2019 lúc 10:45Nov 17, 2019 at 10:45

Đối với một từ điển của các chuỗi như bản bạn đang xử lý, nó có thể được thực hiện chỉ bằng khả năng xử lý văn bản tích hợp của Python.

[Lưu ý điều này sẽ không hoạt động nếu các giá trị là một cái gì đó khác.]

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
1

Đã trả lời ngày 5 tháng 10 năm 2013 lúc 22:22Oct 5, 2013 at 22:22

Martineaumartineaumartineau

Huy hiệu vàng 116K2525 gold badges160 silver badges285 bronze badges

2

Đã hỏi ngày 5 tháng 10 năm 2013 lúc 18:34

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
2

Python có mô -đun dưa chua chỉ cho loại điều này.

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
3

Các chức năng này là tất cả những gì bạn cần để lưu và tải hầu hết mọi đối tượng:May 10, 2021 at 22:55

Gary02127Gary02127Gary02127

Để lưu bộ sưu tập Python, có mô -đun kệ.1 gold badge23 silver badges28 bronze badges

Đã trả lời ngày 5 tháng 10 năm 2013 lúc 18:50

Zahzah

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
4

5,8331 Huy hiệu vàng21 Huy hiệu bạc34 Huy hiệu đồng

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
5

Pickle có lẽ là lựa chọn tốt nhất, nhưng trong trường hợp mọi người tự hỏi làm thế nào để lưu và tải từ điển vào một tệp bằng cách sử dụng Numpy:

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
6

FYI: Trình xem tệp NPYOct 5, 2013 at 18:59

1551 Huy hiệu bạc7 Huy hiệu đồngmguijarr

Đã trả lời ngày 26 tháng 8 năm 2015 lúc 0:056 gold badges43 silver badges71 bronze badges

2

Chúng tôi cũng có thể sử dụng mô -đun

def change[mdict,b,c,d,e]:
    a=input['ID']
    if a in mdict:
        d= str[input['phone']]
        mdict[a]=b+':'+c+':'+d
    else:
        print['not']
3 trong trường hợp khi từ điển hoặc một số dữ liệu khác có thể dễ dàng được ánh xạ tới định dạng JSON.

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
7

Giải pháp này mang lại nhiều lợi ích, ví dụ như hoạt động cho Python 2.x và Python 3.x ở dạng không thay đổi và ngoài ra, dữ liệu được lưu ở định dạng JSON có thể dễ dàng chuyển giữa nhiều nền tảng hoặc chương trình khác nhau. Dữ liệu này cũng có thể đọc được con người.Nov 7, 2017 at 23:38

Đã trả lời ngày 11 tháng 3 năm 2019 lúc 19:59wordsforthewise

Simhumilecosimhumileco5 gold badges81 silver badges110 bronze badges

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
8

28.7K16 Huy hiệu vàng126 Huy hiệu bạc106 Huy hiệu đồng

mdict={}
for line in file:
    x=line.split[':']
    a=x[0]
    b=x[1]
    c=x[2]
    d=x[3]
    e=b+':'+c+':'+d

    mdict[a]=e
9

Đã trả lời ngày 18 tháng 2 năm 2021 lúc 6:10Feb 18, 2021 at 6:10

Làm thế nào để bạn lưu một từ điển dữ liệu?

Bạn có thể sử dụng Model Explorer để lưu các thay đổi cho từ điển dữ liệu bằng cách nhấp chuột phải vào nút cây từ điển trong ngăn phân cấp mô hình và chọn lưu các thay đổi.right-clicking on the dictionary tree node in the Model Hierarchy pane and selecting Save Changes.

Làm thế nào để bạn tạo một từ điển trong Python?

Tạo từ điển Python Tạo một từ điển cũng đơn giản như việc đặt các mục bên trong niềng răng xoăn {} được phân tách bằng dấu phẩy.Một mục có khóa và giá trị tương ứng được biểu thị dưới dạng cặp [khóa: giá trị].placing items inside curly braces {} separated by commas. An item has a key and a corresponding value that is expressed as a pair [key: value].

Một từ điển Python có thể được lưu dưới dạng tệp CSV không?

Trong Python để chuyển đổi một từ điển sang CSV sử dụng phương thức DictWriter [].Phương pháp này được sử dụng để chèn dữ liệu vào tệp CSV.Trong Python, mô -đun CSV lưu trữ phương thức DictWriter [].Nó tạo ra một đối tượng và hoạt động như DictWriter [].. This method is used to insert data into the CSV file. In Python, the CSV module stores the dictwriter[] method. It creates an object and works like the dictwriter[].

Làm thế nào để bạn tạo một tệp từ điển?

Làm thế nào để tạo một từ điển tùy chỉnh..
Chọn tab Tệp.....
Chọn Tùy chọn trong chế độ xem Backstage.....
Chọn bằng chứng trong hộp thoại Tùy chọn từ.....
Chọn nút Từ điển tùy chỉnh.....
Chọn bất kỳ tùy chọn có sẵn nào trong hộp thoại Tùy chỉnh từ điển để cung cấp nút mới.....
Chọn nút mới ..

Bài Viết Liên Quan

Chủ Đề