Вы можете открыть несколько файлов одновременно, выполнив:
with open(output_file_1, 'w') as f1, open(output_file_2, 'w') as f2:
do_something()
Так что для вашего кода это будет что-то вроде ...
with open(subtract_output_file, "w") as csvsub, open(addition_output_file, 'w') as csvadd:
writersub = csv.DictWriter(csvsub, fieldnames=fieldnames)
writeradd = csv.DictWriter(csvadd, fieldnames=fieldnames)
writersub.writeheader()
writeradd.writeheader()
for row in df.iterrows():
a = row[1][0]
b = row[1][1]
writersub.writerow(a-b)
writeradd.writerow(a+b)
Это может быть не самым эффективный способ, но должен работать.