Запись файла CSV в таблицу SQL с помощью Python - PullRequest
1 голос
/ 10 июля 2019

Привет. Я пытаюсь записать CSV-файл в таблицу базы данных SQL Server, используя python.Я сталкиваюсь с ошибками.Вот код, который я выполняю.

CSV-файл содержит более 500 строк

def LoadFile(self, hierarchySetId, fileName):
        try:
            with open('csvfilePath', 'r') as f:
                reader = csv.reader(f)
                columns = next(reader)
                query = (
                    'INSERT INTO DummyTprFileType (RBNode1,RBNode2,RBNode3,RBNode4,RBNode5,RBNode6,RBNode7,BusinessSegment,DividendPartner,Region,TPRRBNode1,TPRRBNode2,TPRRBNode3,TPRRBNode4,TPRRBNode5,TPRRBNode6,TPRRBNode7,TPRRBNode8,TPRRBNode9,TPRRBNode10,TPRRBNode11,TPRRBNode12) values ({1})'
                )
                cursor = connection.cursor()
                for data in reader:
                    cursor.execute(query, data)
                cursor.commit()

        except pyodbc.Error as err:
            print('Error')
            print(err.args[0])

        return True

Ошибка:

TypeError at /api/tprMappings/loadMappingsFile/
not all arguments converted during string formatting
Request Method: GET

PyCharm Terminal показывает ниже:

(0.000) QUERY = 'INSERT INTO DummyTprFileType (RBNode1,RBNode2,RBNode3,RBNode4,RBNode5,RBNode6,RBNode7,BusinessSegment,DividendPartner,Region,TPRRBNode1,TPRRBNode2,TPRRBNode3,TPRRBNode4
,TPRRBNode5,TPRRBNode6,TPRRBNode7,TPRRBNode8,TPRRBNode9,TPRRBNode10,TPRRBNode11,TPRRBNode12) values ({2})' - PARAMS = (); args=['IST', 'Global Gas', 'Canada', '', '', '', '', '', 'Post
Dividend', 'Americas', 'IST', 'Global Oil', 'Global Crude', 'Canada', 'Canada Crude Trading', '1C', '', '', '', '', '', '']
...