Search code examples
pythoncsvdelimiterwriter

extra character (quotechar) while writing csv using csv.writerow() in python


I am trying to write data in csv file in python using following code:

with open('test.csv', 'w') as csvfile:
writer = csv.writer(csvfile, delimiter=',')

writer.writerow(['filename', 'pump_wavelength', 'input_pump_power', 'signal_wavelength', 'input_signal_power',
                 'output_idler_wavelength', 'output_idler_power', 'delta_beta', 'gamma'])
for i in z:
    ---------- some code to get values to be written --------------
    writer.writerow([filename, pump_wavelength, input_pump_power, signal_wavelength, input_signal_power,
                     output_idler_wavelength, output_idler_power, delta_beta, gamma])

gives the following output:

  filename,pump_wavelength,input_pump_power,signal_wavelength,input_signal_power,output_idler_wavelength,output_idler_power,delta_beta,gamma
  5.SPE,1555.503,6.654,1554.507,0.054,1554.9618225,-62.3483855665,-6.55390005475,"(1.4790380500687297, -6.5539000547525852, 0.00015485724131853652)"
  6.SPE,1555.503,6.654,1554.507,0.054,1555.09420064,-62.0169964106,-6.55390005475,"(1.5365574572884448, -6.5539000547525852, 0.00015485724131853652)"

why are there "( and )" around the last three values in each row written in csv file? I am using python 3.


Solution

  • You are writing 9 values in the file,where the last one is a triplet