Ananda  Shankar Das Ananda Shankar Das - 27 days ago 5
Python Question

convert csv to a string variable

I am a beginner in python. I need help with the following

I have a comma separated csv file, eg

a,b,c
d,e,f
g,h,i


I need to convert to a string variable eg
s='a,b,c\n,d,e,f\n,g,h,i\n'

I tried something, but i am going wrong somewhere.

import os
import csv
Filename=r"c:\Users\das\Desktop\a.csv"
z=open(Filename, 'r')
reader=csv.reader(Filename.split('\n'),delimiter=',')
def csv2str():
for row in reader:
v=','.join(row)

a=csv2str()

Answer

You don't need the csv module to do that. Just call the read method of the file object to read in all the lines as one string:

with open(filename) as f:
    s = f.read() + '\n' # add trailing new line character

print(repr(s))
# 'a,b,c\nd,e,f\ng,h,i\n'

I'm printing the repr of the string because a print of the string itself i.e. print(a) will not show the newline character as \n, but will show the string in its different lines.

Comments