from this line
batch_id, source_path, source_name, target_path, target_name, method, last_update= row
7 values were expected... row .... provided 1. which I suspect was empty.
As a check, put...
print(row) immediately before that line and see if it prints out 7 values, if not, then there is something wrong with the input data. Certainly there is something wrong with the code logic since that case should be checked for and accounted for in the script
row = [1, 2, 3, 4, 5, 6, 7]
a, b, c, d, e, f, g = row
print(row)
[1, 2, 3, 4, 5, 6, 7]
print(a, b, c, d, e, f, g)
1 2 3 4 5 6 7
row = [1, 2, 3]
if len(row) == 7:
print('good')
else:
print('not enough values{}'.format(row))
not enough values[1, 2, 3]