2016-12-27 41 views
1

csv.writer需要我提供一个真正的csv文件。有没有一种方法可以给它一个字符串或一个列表来写入,而不是一个实际的文件?我想在不写入文件的情况下将csv作为另一个函数返回。没有文件处理程序的Python csv.writer

hold = [some_list] 
blank = [] 
    w = csv.writer(blank, delimiter=',') 
    w.writerows(hold) 
    return w 

Traceback (most recent call last): 
    w = csv.writer(blank, delimiter=',') 
    TypeError: argument 1 must have a "write" method 

回答

3

一个StringIO对象是适合这样的:

>>> f = StringIO() 
>>> w = csv.writer(f) 
>>> w.writerow(['hello', 'world']) 
13 
>>> f.getvalue() 
'hello,world\r\n' 
+0

我使用python 2所以io.BytesIO为我工作,但是这导致我在那里。谢谢! –

相关问题