CSV-файл не будет импортирован в базу mysql - PullRequest
0 голосов
/ 26 мая 2020

Итак, я работаю над этим заданием, которое получает строки данных из файла CSV и вставляет их в базу данных. Согласно демонстрационному видео моего профессора, весь мой код верен, но данные по-прежнему не попадают в таблицу, которую я создал в MySql. У меня также есть строчная печать (cur.rowcount, «записи вставлены»), которая должна печатать количество строк в моей базе данных, но возвращает -1. Любая помощь будет оценена, спасибо! (извините, если трудно читать)

import mysql.connector

import CSV

db = mysql.connector.connect(
    host = "localhost",
    user="root",
    passwd = "",
    database = "user_cards"
    )


cur = db.cursor()


f = open("UCI_Credit_Card.csv")

index = 0
for row in csv.reader(f):

    if index==0:
            index+1
    else:
            ID = row[0]
            LIMITBAL = row[1]
            SEX = row[2]
            EDUCATION = row[3]
            MARRIAGE = row[4]
            AGE = row[5]
            PAY_0 = row[6]
            PAY_2 = row[7]
            PAY_3 = row[8]
            PAY_4 = row[9]
            PAY_5 = row[10]
            PAY_6 = row[11]
            BILL_AMT1 = row[12]
            BILL_AMT2 = row[13]
            BILL_AMT3 = row[14]
            BILL_AMT4 = row[15]
            BILL_AMT5 = row[16]
            BILL_AMT6 = row[17]
            PAY_AMT1 = row[18]
            PAY_AMT2 = row[19]
            PAY_AMT3 = row[20]
            PAY_AMT4 = row[21]
            PAY_AMT5 = row[22]
            PAY_AMT6 = row[23]
            payment_next_month = row[24]

            sql = "INSERT INTO customers (ID, LIMITBAL, SEX, EDUCATION, MARRIAGE, AGE, PAY_0, PAY_2, PAY_3, PAY_4, PAY_5, PAY_6, BILL_AMT1, BILL_AMT2, BILL_AMT3,BILL_AMT4, BILL_AMT5, BILL_AMT6, PAY_AMT1, PAY_AMT2, PAY_AMT3, PAY_AMT4, PAY_AMT5, PAY_AMT6, payment_next_month) VALUES (%s, %s, %s, %s, %s, %s, %s, %s,%s, %s,%s, %s, %s, %s, %s,%s, %s, %s, %s ,%s ,%s, %s, %s,%s, %s)"
            val = (ID, LimitBal, SEX, EDUCATION, Marriage, AGE, PAY_0, PAY_2, PAY_3, PAY_4, PAY_5, PAY_6, BILL_AMT1, BILL_AMT2,BILL_AMT3,BILL_AMT4,BILL_AMT5,BILL_AMT6,PAY_AMT1,PAY_AMT2,PAY_AMT3,PAY_AMT4,PAY_AMT5,PAY_AMT6,payment_next_month)

            cur.execute(sql, val)

            db.commit()

print(cur.rowcount, "records inserted")

db.close

1 Ответ

1 голос
/ 26 мая 2020

Небольшая ошибка в index+1.

Думаю, вы имеете в виду index += 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...