Python TypeError:类型为'的对象_csv.writer';没有len()
我试图编写csv文件并将其返回到响应体中,但我得到了Python TypeError:类型为'的对象_csv.writer';没有len(),python,python-3.x,falconframework,Python,Python 3.x,Falconframework,我试图编写csv文件并将其返回到响应体中,但我得到了 TypeError: object of type '_csv.writer' has no len() 下面是我的代码: class LogCSV(object): """CSV generator. This class responds to GET methods. """ def on_get(self, req, resp): """Generates CSV for log.
TypeError: object of type '_csv.writer' has no len()
下面是我的代码:
class LogCSV(object):
"""CSV generator.
This class responds to GET methods.
"""
def on_get(self, req, resp):
"""Generates CSV for log."""
mylist = [
'test','one'
]
myfile = open('testingcsv', 'w')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerow(mylist)
resp.status = falcon.HTTP_200
resp.content_type = 'text/csv'
resp.body = (wr)
我不理解错误。您的问题在于如何调用注释中提到的CSV writer对象。您应该使用“with”语句打开新的csv文件,这样可以确保在完成后它将关闭。您的csv文件未指定为*.csv文件(缺少句点)。您还可以将其全部设置为一个方法,将列表传递到该方法中,而不是在该方法中创建 我希望这些建议能有所帮助
def on_get(filename, retrievedData) :
with open(filename, 'w') as csvfile:
dataWriter = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
dataWriter.writerow(retrievedData)
retrievedData = ['test','one']
on_get('testing.csv', retrievedData)
您正试图在响应中发送实际的CSV Writer对象。您很可能希望发送数据。