Bạn có ba nhiệm vụ:
- Loại trừ các trường ngày khỏi danh sách
- Thiết lập Python để chạy các lệnh SQL
- Tạo mã để chèn dữ liệu vào cơ sở dữ liệu
Tôi không chắc chắn 100% cách bạn hy vọng sẽ lưu trữ dữ liệu mà bạn đã đưa vào cơ sở dữ liệu, nhưng tôi sẽ đưa ra dự đoán tốt nhất của mình.
items_to_insert = []
for dictionary in ls:
#pop removes the value from the dict
date_for_insert = dictionary.pop("datetime", None)
if date_for_insert is None:
raise ValueError('No datetime - aborting')
for key in dictionary:
items_to_insert.append([date_for_insert, key, dictionary[key]
Mã này đi đến từng từ điển trong danh sách ls, xóa ngày giờ, sau đó phân tích cú pháp dữ liệu thành một mảng. Bây giờ bạn đã sẵn sàng để chèn dữ liệu
Đối với nhiệm vụ 2, bạn sẽ cần sử dụng PyMySQL hoặc thứ gì đó tương tự và thiết lập các kết nối và nội dung của bạn, sau đó cho nhiệm vụ 3 chạy:
for item in items_to_insert:
cursor.execute("INSERT INTO mytable (Datetime,Item,Value) VALUES ('{}', '{}', '{}')".format(item[0], item[1], item[2]))
Hay đại loại thế. Dòng này dễ dàng hơn do xử lý trước dữ liệu từ phía trên.
Bạn có thể cần phải định dạng ngày giờ theo một cách nhất định để mã này hoạt động chính xác.