【发布时间】:2020-06-16 16:17:39
【问题描述】:
我正在尝试使用 python file.write 编写一个 CSV 文件,但一些索引条目太长以至于它们在 CSV 文件中创建新行。我正在使用.format() 方法在循环中用它们各自的输入填充我的列。理想情况下,我希望 CSV 接受长条目并只更改列宽而不是将它们撞到新行。
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)):
fclog.write(
"{},{},{},{},{}\n".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]))
...
fclog.close()
上图是生成的 csv 文件中的行示例。请注意,第一行条目并没有过满并且按预期工作。然而,第二行条目在tp_prob 列中包含一个过满的条目,并将其余条目颠倒到新行。第三行条目再次按预期工作。
谢谢!
【问题讨论】:
标签: python python-3.x csv format newline