没有文件处理程序的 Python csv.writer

D3l*_*ato 4 python csv

csv.writer 要求我输入一个真正的 csv 文件。有没有办法可以给它提供一个字符串或一个列表来写入而不是一个实际的文件?我想在不写入文件的情况下为另一个函数返回 csv。

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
Run Code Online (Sandbox Code Playgroud)

wim*_*wim 7

StringIO的目的是适合的:

>>> f = StringIO()
>>> w = csv.writer(f)
>>> w.writerow(['hello', 'world'])
13
>>> f.getvalue()
'hello,world\r\n'
Run Code Online (Sandbox Code Playgroud)