Я обнаружил, что по какой-то причине разрывы строк \n
добавлялись внутри фактических строк строки, когда данные были слишком длинными, а не только в конце строки. Чтобы исправить это, я использовал функцию .replace
для замены разрывов строк в строке строки, а затем добавил один разрыв строки обратно в конец строки.
with tf.Session(config=sess_config) as sess:
...
fclog = open(os.path.join(log_dir, args.fpred + '.csv'), 'w') # Initialize csv with col headers
fclog.write("fname,itp,tp_prob,its,ts_prob\n")
for i in range(len(fname_batch)):
my_str = "{},{},{},{},{}".format(fname_batch[i].decode(), picks_batch[i][0][0],
picks_batch[i][0][1],
picks_batch[i][1][0],
picks_batch[i][1][1]).replace("\n", "")
fclog.write(my_str + "\n")
...
fclog.close()
Я уверен, что есть более чистый способ сделать это, поэтому я приветствую больше решений. Я также до сих пор не понимаю, почему эти разрывы строк вставляются автоматически.