写入错误时:csv不支持+:“float”和“str”的操作数类型

2024-06-17 17:30:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手。我必须将数据写入csv file,但它出错了

unsupported operand type(s) for +: 'float' and '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')

我该怎么解决这个问题?在


Tags: csv数据infornetworkfloatfilewrite
1条回答
网友
1楼 · 发布于 2024-06-17 17:30:01

当您试图创建一个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。在

注意,这假设您的四个数据列表都具有相同的长度。在

相关问题 更多 >