我是python的新手。我必须将数据写入csv file
,但它会给出错误
不支持的操作数类型+:' float'和' str'
with open('Csvc1s.csv', "wb") as file:
file.write("Time, Total_network\'s_Belief, Total_network\'s_Disbelief, Total_network\'s_Uncertainty")
file.write('\n')
list1 = [float(i) for i in timeVar]
list2 = [float(i) for i in beliefVar]
list3 = [float(i) for i in disbelVar]
list4 = [float(i) for i in uncerVar]
for x in range(0,list1Len):
textToWrite = (list1[x]) + "," + (list2[x]) + "," + (list3[x]) + "," + (list4[x])
file.write(textToWrite.rstrip())
file.write('\n')
我该如何解决这个问题?
答案 0 :(得分:0)
在尝试创建CSV文件时,通常的方法是使用Python的CSV库。这正确地处理将数据列表转换为文件中正确分隔的行:
import csv
with open('Csvc1s.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
csv_output.writerow(["Time", "Total_network's_Belief", "Total_network's_Disbelief", "Total_network's_Uncertainty"])
csv_output.writerows(zip(timeVar, beliefVar, disbelVar, uncerVar))
zip()
用于将多个列表组合在一起,使得每次迭代时,每个列表中的下一个元素作为列表返回(即,在这种情况下是整行)。 writerows()
获取行列表,并在写入文件时自动在每个条目和每行,
之间添加必要的\n
。
请注意,这假设您的四个数据列表都具有相同的长度。