pytables không tự nhiên hỗ trợ từ điển python. Con đường tôi đã tiếp cận nó là để tạo ra một cấu trúc dữ liệu có dạng:Làm thế nào để từ điển python được lưu trữ trong pytables?
tables_dict = {
'key' : tables.StringCol(itemsize=40),
'value' : tables.Int32Col(),
}
(lưu ý rằng tôi đảm bảo rằng các phím < 40 ký tự) và sau đó tạo ra một bảng sử dụng cấu trúc này:
file_handle.createTable('/', 'dictionary', tables_dict)
và sau đó cư nó với:
file_handle.dictionary.append(dictionary.items())
và lấy dữ liệu với:
dict(file_handle.dictionary.read())
Điều này hoạt động tốt, nhưng việc đọc từ điển trở lại cực kỳ chậm. Tôi nghĩ rằng vấn đề là chức năng read()
gây ra toàn bộ từ điển được nạp vào bộ nhớ, mà thực sự không cần thiết. Có cách nào tốt hơn để làm điều này?