Home > OS >  Writing data to a text file in Python
Writing data to a text file in Python

Time:09-08

I am trying to write mean,var,std to a .txt file but I am getting an error.

import csv
mean = 50.00001075309713
var = 4.120598729047652
std = 2.0299257939756448

with open('Radius.txt', 'w ') as f: 
    writer = csv.writer(f)
    print("Mean =",mean)
    print("var =",var)
    print("std =",std)
    writer.writerow(mean)
    writer.writerow(var)
    writer.writerow(std)

The error is

in <module>
    writer.writerow(mean)

Error: iterable expected, not float

The expected output is

mean = 50.00001075309713
var = 4.120598729047652
std = 2.0299257939756448

CodePudding user response:

Change:

writer.writerow(mean)
writer.writerow(var)
writer.writerow(std)

to:

writer.writerow((mean, var, std))

The requirement for an iterable means whatever you pass to writerow must be something which can be looped through. The fix here is to put your values into a tuple, the inner bracketed values. It works because tuples can be looped through.

  • Related