Я делаю проект для раздела 4 по технической степени TeamTreehouse.com по питону.Я прошел раздел 4 в течение 2 дней, прошел все тесты и выполнил все задачи, связанные с кодом, но я все еще не могу выяснить, как записать данные в файл БД с использованием peewee и orderDict после чтения информации из файла CSV.Я прочитал документацию заказанного Dict и peewee's, но я не могу найти, как записать OrderedDict в БД.
Я пробовал искать документацию и пересматривать обучающие видео на teamtreehouse.com и не могу найти никаких примеров этого вообще.
from collections import OrderedDict
import datetime
import sys
import csv
from peewee import *
db = SqliteDatabase('inventory.db')
class Product(Model):
content = TextField()
id = PrimaryKeyField()
product_name = TextField(unique=True)
product_price = TextField()
product_quantity = TextField()
date_updated = DateTimeField(datetime.datetime.now)
class Meta:
database = db
def migrate_data():
with open('inventory.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=",")
keys = next(reader)
#ordered = ([OrderedDict(zip(keys,row)) for row in reader ])
print('\n\n')
print([OrderedDict(zip(keys,row)) for row in reader ])
print('\n\n')
def initialize():
""" Initialize an Sqlite database called inventory.db."""
db.connect()
db.create_tables([Product], safe=True)
def create_model():
""" Create a model called Product that the Peewee ORM will use to
build the database.
The Product model should have five attributes: product_id, product_name,
product_quantity,
product_price. Use PeeWee's built in primary_key functionality for the
product_id field,
so that each product will have an automatically generated unique
identifier."""
productname = ('product_name')
Ожидаемым результатом для этого вопроса будет запись OrderedDict, созданного из чтения файла CSV, в файл sqlite с использованием peewee.Вы можете скачать CSV-файл И полный код Python с моего github (Yeransian) и в разделе "Treehouse-Project4"
Любая помощь, чтобы справиться с этим спадом, будет потрясающей!Чем быстрее я вернусь к обучению, тем лучше.:)