首页 > 解决方案 > 尝试运行文件 .py 以在数据库中添加数据时出错

问题描述

我在我的项目的应用程序中创建了 2 个文件 .py。我的应用程序是 importXLS。

当我想运行我的应用程序时,它不起作用。第一个文件去解析一个excel文件。第二个文件似乎工作得很好,应该添加第一个文件的每个元素并将其保存在数据库中这个不工作。

这是解析excel文件的第一个文件:

from openpyxl import load_workbook


def is_empty(row):
    return all(cell.value is None for cell in row)


def is_empty_gl(row):
    return row[0].value is None


def has_empty_cells(row):
    return any(cell.value is None for cell in row)

# ----------------Chart of accounts--------------


def parse_coa():

    wb = load_workbook(filename='Chartofaccount.xlsx')
    ws = wb.active

    coa = []

    for row in ws.iter_rows(min_row=2, min_col=2, max_col=5):

        if is_empty(row):
            continue
        elif is_empty_gl(row):
            print('missing cell value found {}. Please fix and run again'.format(row[1].value))
#            exit()
        else:
            chartdictionnary = {
                'field_account': row[0].value,
                'field_account_libaccount': row[1].value,
                'field_type': row[2].value,
                'field_subtype': row[3].value,
                }
            coa.append(chartdictionnary)

    return coa

这是第二个不工作的文件 错误是:db.connect() NameError: name 'db' is not defined。但我不知道如何连接到数据库(这是一个用于 dev 的 sqlite,但应该是另一个在 prod 中的)

from read_data import parse_coa



db.connect()
for coa in parse_coa():
    coa = ChartOfAccount(field_account=coa['field_account'],field_account_libaccount=coa['field_account_libaccount'],
                         field_type=coa['field_type'], field_subtype=coa['field_subtype'])
    coa.save()

db.close()

将数据添加到数据库

标签: pythondjangopycharm

解决方案


严格按照您在此处发布的代码,您从未定义过db该类。

您是否导入了部分代码?喜欢:

from packet import database as db ?

推荐阅读