Я хочу создать SQL таблицы для json данных usign python 3 Google Colab. Вот код:
from sqlalchemy import Column, Integer, String, Text, DateTime, Float, Boolean, ForeignKey
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
total_data = [
{
"fields": {
"bkdate": None,
"business_credit_card_total_balances": None,
"business_credit_card_total_limits": None,
"business_total_monthly_debt_payments": None,
"business_total_mortgage_monthly_payments": None,
"created_at": "2016-08-04T00:29:03.067Z",
"detail_results": None,
"error_reason": "no reasons",
"fico_v2": "695",
"fico_v3": None,
"loanapp_id": 194,
"personal_credit_card_total_balances": None,
"personal_credit_card_total_limits": None,
"personal_total_monthly_payments": None,
"report_type": "CreditProfile",
"result": True,
"role": "applicant",
"total_mortgage_monthly_payments": None,
"username": "cho",
"version": "CF Microloan"
},
"model": "common.prequalresult",
"pk": 1
}
]
engine = create_engine('mysql://user:password@localhost:5432/my_data', echo=False)
Base = declarative_base()
class Article(Base):
__tablename__ = 'article'
id = Column(Integer, primary_key=True, autoincrement=True)
pk = Column(Integer, primary_key=False)
model = Column(String(100), nullable=True)
child = relationship('Comment', backref='article', uselist=False)
class Comment(Base):
__tablename__ = 'comment'
id = Column(Integer, primary_key=True, autoincrement=True)
bkdate = Column(String(100), nullable=True)
business_credit_card_total_balances = Column(Integer, nullable=True)
business_credit_card_total_limits = Column(Integer, nullable=True)
business_total_monthly_debt_payments= Column(Integer, nullable=True)
business_total_mortgage_monthly_payments= Column(Integer, nullable=True)
detail_resultsColumn(String(100), nullable=True)
created_at = Column(String(100), nullable=True)
error_reason = Column(String(100), nullable=True)
fico_v2= Column(String(100), nullable=True)
fico_v3= Column(String(100), nullable=True)
loanapp_id= Column(Integer, nullable=True)
personal_credit_card_total_balances= Column(Integer, nullable=True)
personal_credit_card_total_limits= Column(Integer, nullable=True)
personal_total_monthly_payments= Column(Integer, nullable=True)
report_type= Column(String(100), nullable=True)
result= Column(Integer, nullable=True)
role= Column(String(100), nullable=True)
total_mortgage_monthly_payments= Column(Integer, nullable=True)
username= Column(String(100), nullable=True)
version= Column(String(100), nullable=True)
article_id = Column(Integer, ForeignKey('article.id'))
x = Base.metadata.create_all(engine)
Session = sessionmaker(bind=engine)
session = Session()
for temp_data in total_data:
pk = temp_data['pk']
model = temp_data['model']
bkdate = temp_data['fields']['bkdate']
business_credit_card_total_balances = temp_data['fields']['business_credit_card_total_balances']
created_at = temp_data['fields']['created_at']
business_credit_card_total_limits = temp_data['fields']['business_credit_card_total_limits']
business_total_monthly_debt_payments = temp_data['fields']['business_total_monthly_debt_payments']
business_total_mortgage_monthly_payments = temp_data['fields']['business_total_mortgage_monthly_payments']
detail_resultsColumn = temp_data['fields']['detail_resultsColumn']
error_reason = temp_data['fields']['error_reason']
fico_v2 = temp_data['fields']['fico_v2']
fico_v3 = temp_data['fields']['fico_v3']
loanapp_id = temp_data['fields']['loanapp_id']
personal_credit_card_total_balances = temp_data['fields']['personal_credit_card_total_balances']
personal_credit_card_total_limits = temp_data['fields']['personal_credit_card_total_limits']
personal_total_monthly_payments = temp_data['fields']['personal_total_monthly_payments']
report_type = temp_data['fields']['report_type']
result = temp_data['fields']['result']
role = temp_data['fields']['role']
total_mortgage_monthly_payments = temp_data['fields']['total_mortgage_monthly_payments']
username= temp_data['fields']['username']
version = temp_data['fields']['version']
article_id = temp_data['fields']['article_id']
parent1 = Article(pk=temp_data['pk'], model=model)
child = Comment(bkdate=bkdate,
business_credit_card_total_balances=business_credit_card_total_balances,
created_at=created_at,
business_credit_card_total_limits=business_credit_card_total_limits,
business_total_monthly_debt_payments=business_total_monthly_debt_payments,
business_total_mortgage_monthly_payments=business_total_mortgage_monthly_payments,
detail_resultsColumn=detail_resultsColumn,
error_reason=error_reason,
fico_v2=fico_v2,
fico_v3=fico_v3,
loanapp_id=loanapp_id,
personal_credit_card_total_balances=personal_credit_card_total_balances,
personal_credit_card_total_limits=personal_credit_card_total_limits,
personal_total_monthly_payments=personal_total_monthly_payments,
report_type=report_type,
result=result,
role=role,
total_mortgage_monthly_payments=total_mortgage_monthly_payments,
username=username,
version=version,
article_id=article_id,
article=parent1)
session.add(parent1)
session.add(child)
session.commit()
Это показывает ошибку, когда я выполняю код выше: ModuleNotFoundError: Нет модуля с именем 'MySQLdb'. Код включает данные и использует SQLAlchemy ORM для создания таблиц. У кого-нибудь есть другой способ создания SQL таблиц для данных?
Я установил модуль, используя:
!pip install PyMySQL
Я не знаю, как это исправить. Может кто-то помочь с этим?