Добавление строки к каждой строке в файле и выполнение массовой вставки - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь добавить часть имени файла в каждую строку в файле .txt, а затем массово вставить файл на сервер sql. Чтение имени файла работает, а также добавление строки в каждую строку работает нормально, но по какой-то причине добавленная строка игнорируется массовой вставкой.

Вот код, который я использую:

import os
import pyodbc
import glob
import os.path
import shutil

path = "XXXX"
file_dest = "XXXX"
file_check = len(glob.glob(os.path.join(path, '*.txt')))

while file_check > 0 :
    file_name = os.listdir(path)[0]
    file_path = path + file_name
    satzart = file_name[0:4]

    with open(file_path, 'r') as f:
        lines = f.read().splitlines()

    with open(file_path, 'w') as f: 
        for row in (lines):
            f.write(row + satzart + '\n')

    conn = pyodbc.connect('DRIVER={SQL Server};'
                      'SERVER=XXXX;'
                      'DATABASE=XXXX;'
                      'Trusted_Connection=yes;')
    curr = conn.cursor()
    curr.execute("""BULK INSERT XXXX
               FROM """ + "'" + file_path + "'" +
               """ WITH (
               ROWTERMINATOR='\n'
               BATCHSIZE=2000000,
               DATAFILETYPE='widechar',
               CODEPAGE='ACP'
               );""")

    conn.commit()
    shutil.move(file_path, file_dest)
...