我想在csv
文件的不同列中打印程序的输出。实际输出仅在使用excel软件打开的csv
文件中的一个单元格中显示。此外,数值结果似乎用方括号括起来(我不希望这样)。我想将结果绘制在不同的单元格中,彼此相邻。例如,第一个单元格“文本”,第二个单元格“数字”,第三个单元格“文本”。
我尝试了不同的定界符,例如'',',',但没有成功。
import numpy as np
# DATA
width=0.66
# WRITING THE DATA
wii=np.empty([1,1])[0]
wii[0]=round(width,3)
Width=[['Width' +str(wii)+ ' [m]']]
with open('Output.csv', 'w', newline='') as csvFile:
thewriter = csv.writer(csvFile, delimiter=',')
thewriter.writerows(Width)
我的预期结果将是以下结果: 宽度0.66 [m](“宽度0.66和[m]分别位于三个不同的像元中”)
相反,我得到:
宽度[0.66] [m](“宽度,[0.66]和[m]位于同一单元格中的位置”)
如何解决这个问题?
答案 0 :(得分:1)
要实现这一目标,需要做一些改变:
wii
列表,而不是对象,因此将始终带有方括号。我已经解决了。writerow
始终会将内容放入不同的单元格中,因此我将其更改为write
以下脚本输出:
import numpy as np
import csv
#DATA
width=0.66
#WRITING THE DATA
wii=np.empty([1,1])[0]
wii[0]=round(width,3)
#print(wii[0]) prints 0.66 no bracket
#Width=['Width' +str(wii)+ 'm'] <- OP old
Width = ["Width", str(wii[0]), "[m]"] # <- NEW
with open('Output.csv', 'w', newline='') as csv_Reader:
# Change from writerow
csv_Reader.write(",".join(Width))