Ananda  Shankar Das
Ananda Shankar Das

Reputation: 63

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()

Upvotes: 6

Views: 21234

Answers (1)

Moses Koledoye
Moses Koledoye

Reputation: 78564

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.

Upvotes: 9

Related Questions