Я пытаюсь добавить часть имени файла в каждую строку в файле .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)