Попытка сбросить столбец на MySQL при подключении к Python - PullRequest
0 голосов
/ 21 апреля 2020

Я использую дерево решений машинного обучения на Python для подключения к базе данных на MySQL и получаю сообщение об ошибке, когда значения в базе данных используются в коде. Код на python получает входные данные, которые будут соответствовать значениям UP C, хранящимся в MySQL, и выводит строки, которые будут использоваться в python. Я получаю сообщение об ошибке при сравнении значений в одной из функций дерева решений и думаю, что это значение UP C, вызывающее эту ошибку, поскольку это длинное число. Есть ли способ сделать так, чтобы другие элементы строки соответствовали друг другу, не используя значение UP C? Сообщение об ошибке, которое я получаю, может быть не связано с этим, но я также хотел бы, чтобы при импортировании значений в дерево решений не использовался столбец UP C.

CARMLScursor = mydb.cursor()

print("Enter upc codes via scanner (type f to finish list): ")

try:
    input_upc = []

    while True:
        input_upc.append(int(input()))

except:
    print("Listed UPC input:", input_upc)

CARMLScursor.execute("use supermarket")

sqlFormula = "INSERT INTO user_input (Barcode) VALUES(%s)"

records = zip(input_upc)

CARMLScursor.executemany(sqlFormula, records)

mydb.commit()

SQL connection:
copy = "SELECT t1.* FROM items t1, user_input t2 WHERE (t1.UPC=t2.Barcode) " \
       "GROUP BY t1.UPC, t1.Shelf, t1.Isle, t1.ItemName ORDER BY Isle ASC"

CARMLScursor.execute(copy)

result = [CARMLScursor.fetchall()]

for training_data in result:

    print(training_data)

Ошибка получения детали :

class Question:

    def __init__(self, column, value):
        self.column = column
        self.value = value

    def match(self, example):
        # Compare the feature value in an example to the
        # feature value in this question.
        val = example[self.column + 2]
        if is_numeric(val):
            return val >= self.value
        else:
            return val == self.value

    def __repr__(self):
        # This is just a helper method to print
        # the question in a readable format.
        condition = "=="
        if is_numeric(self.value):
            condition = ">="
        return "Is %s %s %s?" % (
            header[self.column], condition, str(self.value))

q = Question(0, 'Cereal')
print(q)

example = training_data[0]
print(q.match(example))


def partition(rows, question):

    true_rows, false_rows = [], []
    for row in rows:
        if question.match(row):
            true_rows.append(row)
        else:
            false_rows.append(row)
    return true_rows, false_rows

строка 116, в совпадении return val> = self.value TypeError: '> =' не поддерживается между экземплярами int и str

Это показывает таблицу это действует как инвентарь, где отсканированные UP C соответствуют сохраненным. Существует еще одна таблица с именем user_input, в которой хранятся отсканированные значения UP C, которые имеют те же атрибуты, что и таблица элементов.

|-------------------|--------------|------------|---------------|                  
|        UPC        |     Shelf    |    Isle    |    ItemName   |                  
|-------------------|--------------|------------|---------------|                  
|    123456789851   |       C      |     1      |     Eggs      |                 
|-------------------|--------------|------------|---------------|                  
|    123456789789   |       A      |     1      |     Milk      |                 
|-------------------|--------------|------------|---------------|                  
|    123456789765   |       D      |     2      |     Coffee    |                 
|-------------------|--------------|------------|---------------|                  
|    123456789582   |       A      |     5      | Apple Juice   |                 
|-------------------|--------------|------------|---------------|                 
|    123456789542   |       S      |     2      |     Cereal    |                 
|-------------------|--------------|------------|---------------|                    
...